Difference between revisions of "CUDA installation on Ubuntu"

From Teknologisk videncenter
Jump to: navigation, search
m (Installation test)
m (Installation test)
 
Line 54: Line 54:
 
Compile and run the program
 
Compile and run the program
 
<source lang=text>
 
<source lang=text>
heth@MachoGPU:~/cuda$ nvcc enum.cu -o enum
+
heth@MachoGPU:~/cuda$ nvcc enum.cu -o enum
 
heth@MachoGPU:~/cuda$ ./enum
 
heth@MachoGPU:~/cuda$ ./enum
 
   --- General Information for device 0 ---
 
   --- General Information for device 0 ---

Latest revision as of 07:07, 11 November 2011

prerequisite

Installation of

Installation test

#include <stdio.h>
int main( void ) {
    cudaDeviceProp  prop;

    int count;
    cudaGetDeviceCount( &count );
    for (int i=0; i< count; i++) {
        cudaGetDeviceProperties( &prop, i );
        printf( "   --- General Information for device %d ---\n", i );
        printf( "Name:  %s\n", prop.name );
        printf( "Compute capability:  %d.%d\n", prop.major, prop.minor );
        printf( "Clock rate:  %d\n", prop.clockRate );
        printf( "Device copy overlap:  " );
        if (prop.deviceOverlap)
            printf( "Enabled\n" );
        else
            printf( "Disabled\n");
        printf( "Kernel execution timeout :  " );
        if (prop.kernelExecTimeoutEnabled)
            printf( "Enabled\n" );
        else
            printf( "Disabled\n" );

        printf( "   --- Memory Information for device %d ---\n", i );
        printf( "Total global mem:  %ld\n", prop.totalGlobalMem );
        printf( "Total constant Mem:  %ld\n", prop.totalConstMem );
        printf( "Max mem pitch:  %ld\n", prop.memPitch );
        printf( "Texture Alignment:  %ld\n", prop.textureAlignment );

        printf( "   --- MP Information for device %d ---\n", i );
        printf( "Multiprocessor count:  %d\n",
                    prop.multiProcessorCount );
        printf( "Shared mem per mp:  %ld\n", prop.sharedMemPerBlock );
        printf( "Registers per mp:  %d\n", prop.regsPerBlock );
        printf( "Threads in warp:  %d\n", prop.warpSize );
        printf( "Max threads per block:  %d\n",
                    prop.maxThreadsPerBlock );
        printf( "Max thread dimensions:  (%d, %d, %d)\n",
                    prop.maxThreadsDim[0], prop.maxThreadsDim[1],
                    prop.maxThreadsDim[2] );
        printf( "Max grid dimensions:  (%d, %d, %d)\n",
                    prop.maxGridSize[0], prop.maxGridSize[1],
                    prop.maxGridSize[2] );
        printf( "\n" );
    }
}

Compile and run the program

heth@MachoGPU:~/cuda$ nvcc enum.cu -o enum
heth@MachoGPU:~/cuda$ ./enum
   --- General Information for device 0 ---
Name:  GeForce GTS 250
Compute capability:  1.1
Clock rate:  1620000
Device copy overlap:  Enabled
Kernel execution timeout :  Disabled
   --- Memory Information for device 0 ---
Total global mem:  1073020928
Total constant Mem:  65536
Max mem pitch:  2147483647
Texture Alignment:  256
   --- MP Information for device 0 ---
Multiprocessor count:  16
Shared mem per mp:  16384
Registers per mp:  8192
Threads in warp:  32
Max threads per block:  512
Max thread dimensions:  (512, 512, 64)
Max grid dimensions:  (65535, 65535, 1)

heth@MachoGPU:~/cuda$

Links