Hello everybody!
Because I’m new to the machine, I tried to get some information about a S870 with the following short code:
#include <stdio.h>
int main()
{
int dCount;
cudaGetDeviceCount( &dCount );
int device;
for ( device = 0; device < dCount; ++device )
{
cudaDeviceProp deviceProp;
cudaGetDeviceProperties( &deviceProp, device );
printf( "%d - name: %s\n" ,device ,deviceProp.name );
printf( "%d - totalGlobalMem: %d bytes ( %.2f Gbytes)\n" ,device ,deviceProp.totalGlobalMem , deviceProp.totalGlobalMem / (float)( 1024 * 1024 * 1024) );
printf( "%d - sharedMemPerBlock: %d bytes ( %.2f Kbytes)\n" ,device ,deviceProp.sharedMemPerBlock ,deviceProp.sharedMemPerBlock / (float)1024 );
printf( "%d - regsPerBlock: %d\n" ,device ,deviceProp.regsPerBlock );
printf( "%d - warpSize: %d\n" ,device ,deviceProp.warpSize );
printf( "%d - memPitch: %d\n" ,device ,deviceProp.memPitch );
printf( "%d - maxThreadsPerBlock: %d\n" ,device ,deviceProp.maxThreadsPerBlock );
printf( "%d - maxThreadsDim[0]: %d\n" ,device ,deviceProp.maxThreadsDim[0] );
printf( "%d - maxThreadsDim[1]: %d\n" ,device ,deviceProp.maxThreadsDim[1] );
printf( "%d - maxThreadsDim[2]: %d\n" ,device ,deviceProp.maxThreadsDim[2] );
printf( "%d - maxGridSize[0]: %d\n" ,device ,deviceProp.maxGridSize[0] );
printf( "%d - maxGridSize[1]: %d\n" ,device ,deviceProp.maxGridSize[1] );
printf( "%d - maxGridSize[2]: %d\n" ,device ,deviceProp.maxGridSize[2] );
printf( "%d - totalConstMem: %d bytes ( %.2f Kbytes)\n" ,device ,deviceProp.totalConstMem ,deviceProp.totalConstMem / (float) 1024 );
printf( "%d - compute capability: %d.%d\n" ,device ,deviceProp.major ,deviceProp.minor);
printf( "%d - clockRate %d kilohertz\n" ,device ,deviceProp.clockRate );
printf( "%d - textureAlignment %d\n\n" ,device ,deviceProp.textureAlignment );
}
return EXIT_SUCCESS;
}
This is the output:
0 - name: Tesla C870
0 - totalGlobalMem: 1610350592 bytes ( 1.50 Gbytes)
0 - sharedMemPerBlock: 16384 bytes ( 16.00 Kbytes)
0 - regsPerBlock: 8192
0 - warpSize: 32
0 - memPitch: 262144
0 - maxThreadsPerBlock: 512
0 - maxThreadsDim[0]: 512
0 - maxThreadsDim[1]: 512
0 - maxThreadsDim[2]: 64
0 - maxGridSize[0]: 65535
0 - maxGridSize[1]: 65535
0 - maxGridSize[2]: 1
0 - totalConstMem: 65536 bytes ( 64.00 Kbytes)
0 - compute capability: 1.0
0 - clockRate 1350000 kilohertz
0 - textureAlignment 256
1 - name: Tesla C870
1 - totalGlobalMem: 1610350592 bytes ( 1.50 Gbytes)
1 - sharedMemPerBlock: 16384 bytes ( 16.00 Kbytes)
1 - regsPerBlock: 8192
1 - warpSize: 32
1 - memPitch: 262144
1 - maxThreadsPerBlock: 512
1 - maxThreadsDim[0]: 512
1 - maxThreadsDim[1]: 512
1 - maxThreadsDim[2]: 64
1 - maxGridSize[0]: 65535
1 - maxGridSize[1]: 65535
1 - maxGridSize[2]: 1
1 - totalConstMem: 65536 bytes ( 64.00 Kbytes)
1 - compute capability: 1.0
1 - clockRate 1350000 kilohertz
1 - textureAlignment 256
Of course I expected some other informations like 6Gbytes of totalGlobalMem and the real name.
Whats wrong? Why can I see two devices? I excpected four devices thinking about an S870 as four C870 ( but that sounds as if I have to handle it as more than one device, then again that sounds suboptimal for me).
Can anybody help me?
Regards
thilo