¿Cómo sé cuántos multiprocesadores (SM) de streaming tengo en mi GTS 250?
Respuesta1
Puede descargar el SDK y ejecutar deviceQuery
CUDASDK_32/C/bin/linux/release/deviceQuery
Device 0: "Tesla S2050"
CUDA Driver Version: 3.10
CUDA Runtime Version: 3.10
CUDA Capability Major/Minor version number: 2.0
Total amount of global memory: 2817982464 bytes
Y mira esta línea:
Multiprocessors x Cores/MP = Cores: 14 (MP) x 32 (Cores/MP) = 448 (Cores)
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 32768
Warp size: 32
Maximum number of threads per block: 1024
Maximum sizes of each dimension of a block: 1024 x 1024 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 1
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Clock rate: 1.15 GHz
Concurrent copy and execution: Yes
Run time limit on kernels: No
Integrated: No
Support host page-locked memory mapping: Yes
Compute mode: Default (multiple host threads can use this device simultaneously)
Concurrent kernel execution: Yes
Device has ECC support enabled: Yes
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 3.10, CUDA Runtime Version = 3.10, NumDevs = 1, Device = Tesla S2050
Respuesta2
El GTS 250 tiene 16 SM y 8 núcleos por SM para un total de 128 núcleos CUDA. esta pagina de wikipediatiene recuentos de núcleos para todos los dispositivos GeForce. Para los procesadores de la serie GT200, dividir el número de núcleos por 8 da el número de SM.
Respuesta3
Esta es una publicación de hace 12 años; sin embargo, recientemente tuve una confusión similar al encontrar la sm_
de mi GPU.
Para referencia futura, descubrí que si ejecuta __nvcc_device_query.exe
(para Windows), algo similar debería ser también para Linux en el directorio instalado de CUDA, y en bin
la carpeta, obtendrá el número.