I have got a Tesla K20, but the number of GPU cores of the card computed in matlab is wrong !

4 Ansichten (letzte 30 Tage)
Hi everybody!
I have Matlab 64 bit version 2013a with Parallel toolbox
when I ask info about my CUDAdevice I got:
Name: 'Tesla K20c'
DriverVersion: 5.5
...
SIMWidth: 32
MultiprocessorCount: 13
...
The number of cores should be computed as: SIMWidth*MultiprocessorCount but here the total sum is 416, rather than 2496 that it should be. It is exaclty factor of 6 less. What can be the problem here?
Thanks a lot! Best Mattia

Antworten (1)

Edric Ellis
Edric Ellis am 6 Jun. 2013
If you check the appropriate section in the CUDA C Programming Guide, you'll see that the number of cores per multiprocessor is 192 for devices of compute capability 3.x.
  2 Kommentare
Mattia
Mattia am 7 Jun. 2013
Bearbeitet: Mattia am 7 Jun. 2013
Hi, I am still not convinced. If you look the documentation of matlab it states (<http://www.mathworks.de/de/help/nnet/ug/parallel-and-gpu-computing.html>):
gpu1 = gpuDevice(1)
gpu1 =
parallel.gpu.CUDADevice handle
Package: parallel.gpu
Properties:
Name: 'GeForce GTX 470'
Index: 1
ComputeCapability: '2.0'
SupportsDouble: 1
DriverVersion: 4.1000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [65535 65535 1]
SIMDWidth: 32
TotalMemory: 1.3422e+09
FreeMemory: 1.1056e+09
MultiprocessorCount: 14
ClockRateKHz: 1215000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
gpuCores1 = gpu1.MultiprocessorCount * gpu1.SIMDWidth
gpuCores1 =
448
You can calculate how many cores the this GPU has, which in this case is 448 cores. I have just cross checked in the nvidia documentation this GeForce GTX 470 and it has 448 cores. So still I do not get why my K20 reports only 412 cores.
Edric Ellis
Edric Ellis am 7 Jun. 2013
Bearbeitet: Edric Ellis am 7 Jun. 2013
Unfortunately, in this case the documentation is incorrect. The SIMDWidth doesn't tell you how many CUDA cores there are per multiprocessor - it tells you how many threads there are per warp. The CUDA C programming guide tells you that devices with Compute Capability 2.0 have 32 CUDA cores per multiprocessor - which by coincidence happens to be the same as the number of threads per warp. Unfortunately, CUDA does not provide an API to tell you the number of CUDA cores per multiprocessor, so the gpuDevice display cannot tell you that.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu GPU Computing finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by