programming - ¿Cuántos "núcleos CUDA" tiene cada multiprocesador de una GPU?
nvidia cuda driver (3)
Sé que los dispositivos antes de la arquitectura Fermi tenían 8 SP en un solo multiprocesador. ¿El conteo es igual en la arquitectura de Fermi?
El número de multiprocesadores (MP) y el número de núcleos por MP se puede encontrar ejecutando DeviceQuery.exe . Se encuentra en el %NVSDKCOMPUTE_ROOT%/C/bin
de la instalación del GPU Computing SDK.
Una mirada al código de DeviceQuery (que se encuentra en %NVSDKCOMPUTE_ROOT%/C/src/DeviceQuery
) revela que la cantidad de núcleos se calcula pasando los xy números de Capacidad CUDA a la función de utilidad ConvertSMVer2Cores .
Del código de ConvertSMVer2Cores se puede ver esta relación entre la capacidad y el recuento de núcleos:
Capability: Cores
10: 8
11: 8
12: 8
13: 8
20: 32
21: 48
La respuesta depende de la propiedad Capacidad de cálculo del dispositivo CUDA. Los números son:
- Capacidad de cálculo <= 1.3 -> 8 CUDA Cores / SM
- CC == 2.0 -> 32 núcleos CUDA / SM
- CC == 2.1 -> 48 núcleos CUDA / SM
Consulte el apéndice G de la Guía de programación de CUDA C.
Actualización de la respuesta de @ AshwinNanjappa para CUDA 7.5:
Compute
Capability # Cores
-----------------------
1.x: 8
2.0: 32
2.1: 48
3.x: 192
5.x: 128
Notas:
- CUDA 7.5 ya no es compatible con dispositivos con capacidad informática 1.x.
- Estos no son realmente ''núcleos'' en el sentido de núcleos de CPU. Vea esta pregunta aquí en .
- En las GPU de Maxwell (5.x), el número de ''núcleos'' por multiprocesador ha disminuido .
-
$CUDA_SAMPLES_DIR/common/inc/helper_cuda.h
información adicional de$CUDA_SAMPLES_DIR/common/inc/helper_cuda.h
.