您的位置:首页 > 其它

CUDA学习,查看device性能参数

2015-04-30 11:04 148 查看
#include "../common/book.h"
#include< stdio.h>
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <assert.h>
#include <stdlib.h>

int main( void ) {
cudaDeviceProp  prop;

int count;
HANDLE_ERROR( cudaGetDeviceCount( &count ) );
for (int i=0; i< count; i++) {
HANDLE_ERROR( 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" );
}
}


注意:#include "../common/book.h"头文件主要声明一些函数,比如HANDLE_ERROR,可以不添加,不用HANDLE_ERROR函数即可。



参考:cuda by example.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: