cuda初始化代码[精].doc
文本预览下载声明
#include stdio.h
#include cuda_runtime.h
bool CUDA_initial(void)
{
int i;
int device_count;
if( cudaGetDeviceCount(device_count) )
{
printf( There is zero device beyond 1.0\n);
return false;
}
else
printf(There is %d device beyond 1.0\n,device_count);
for(i=0;idevice_count;i++)
{
struct cudaDeviceProp device_prop;
if(cudaGetDeviceProperties(device_prop,i)==cudaSuccess)
{
printf(device properties is :\n
\t device name is %s\n
\t totalGlobalMem is %d\n
\t sharedMemPerBlock is %d\n
\t regsPerBlock is %d\n
\t warpSize is %d\n
\t memPitch is %d\n
\t maxThreadsPerBlock is %d\n
\t maxThreadsDim [3] is %d X %d X %d\n
\t maxGridSize [3] is %d X %d X %d\n
\t totalConstMem is %d\n
\t device version is major %d ,minor %d\n
\t clockRate is %d\n
\t textureAlignment is %d\n
\t deviceOverlap is %d\n
\t multiProcessorCount is %d\n,
device_,
device_prop.totalGlobalMem,
device_prop.sharedMemPerBlock,
device_prop.regsPerBlock,
device_prop.warpSize,
device_prop.memPitch,
device_prop.maxThreadsPerBlock,
device_prop.maxThreadsDim[0],device_prop.maxThreadsDim[1],device_prop.maxThreadsDim[2],
device_prop.maxGridSize[0],device_prop.maxGridSize[1],device_prop.maxGridSize[2],
device_prop.totalConstMem,
device_prop.major,device_prop.minor,
device_prop.clockRate,
device_prop.textureAlignment,
device_prop.deviceOverlap,
device_prop.multiProcessorCount);
break;
}
}
if(i==device_count)
{
printf(Get the propertites of device occurred error\n);
return false;
}
if(cudaSetDevice(i)==cudaErrorInvalidDevice)
{
printf(Set Device occurred error\n);
return false;
}
return true;
}
int main()
{
if(CUDA_initial()==true)
printf(CUDA initial successed!\n);
return 0;
}
其中遇到的一些函数解释:
1.1.1 cudaGetDeviceCount
名称
cudaGetDeviceCount – 返回具有计算能力的设备的数量
概要
cudaError_t cudaGetD
显示全部