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

4 visualizaciones (últimos 30 días)
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

Respuestas (1)

Edric Ellis
Edric Ellis el 6 de Jun. de 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 comentarios
Mattia
Mattia el 7 de Jun. de 2013
Editada: Mattia el 7 de Jun. de 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 el 7 de Jun. de 2013
Editada: Edric Ellis el 7 de Jun. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre GPU Computing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by