how do I know how many streaming multiprocessors(SM) I have on my GTS 250?
3 Answers
You can Download the SDK and run 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
And see this line:
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
The GTS 250 has 16 SMs and 8 cores per SM for a total of 128 CUDA cores. This wikipedia page has core counts for all GeForce devices. For GT200 series processors dividing the number of cores by 8 gives you the number of SMs.
-
That wikipedia page is helpful. But I cannot find where in there it says that.– KeyC0deCommented Feb 28, 2017 at 21:06
This is a 12-year-old post, however, recently I had similar confusion finding the sm_
of my GPU.
For future reference, I found if you run the __nvcc_device_query.exe
(for windows), a similar should be also for Linux under CUDA installed directory, and in bin
folder, you will get the number.