Wrong properties with cudaDeviceProp?

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

Are you sure that both external PCIe cables are connected to the S870? I’ve never actually used one, but I believe that you will only see two devices if only one cable is connected.

Thank you for the hint! I don’t have access to the hardware, but I will ask somebody to look at.

So it seems.

But both cables are connectet (?) …

I genereated a bug report, but i can’t conclude from.
Can somebody help me?

Click here to view the report.