2011-03-07 25 views

Respuesta

9

El número de multiprocesadores (MP) y el número de núcleos por MP se puede encontrar mediante la ejecución de DeviceQuery.exe. Se encuentra en el directorio %NVSDKCOMPUTE_ROOT%/C/bin de la instalación del GPU Computing SDK.

Una mirada al código de DeviceQuery (encontrado en %NVSDKCOMPUTE_ROOT%/C/src/DeviceQuery) revela que el número de núcleos se calcula haciendo pasar la x.y CUDA Capability números a la función ConvertSMVer2Cores utilidad.

A partir del código de ConvertSMVer2Cores esta relación entre la capacidad y el núcleo recuento se puede ver:

Capability: Cores 
10:   8 
11:   8 
12:   8 
13:   8 
20:   32 
21:   48 
15

La respuesta depende de la propiedad Capacidad de cálculo del dispositivo CUDA. Los números son:

  1. Compute Capability < = 1,3 -> 8 CUDA Cores/SM
  2. CC == 2,0 -> 32 núcleos CUDA/SM
  3. CC == 2,1 -> 48 CUDA núcleos/SM

Consulte el apéndice G del CUDA C Programming Guide.

2

Actualización de 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 el dispositivo con cálculo capacidad 1.x.
  • Estos no son realmente 'núcleos' en el sentido de núcleos de CPU. Consulte this question aquí en Desbordamiento de pila.
  • En las GPU de Maxwell (5.x), el número de 'núcleos' por multiprocesador tiene disminuyó.
  • Obtuve la información adicional de $CUDA_SAMPLES_DIR/common/inc/helper_cuda.h.
Cuestiones relacionadas