关于平台:Windows、Linux、Mac OS都支持
Windows下环境搭建顺序:
(1) VS 2010 (必须先安装VS!,然后再安装其他)
(2) CUDA ToolKit (在9.0版本中,显卡驱动以及Nsight调试器都已经集成在ToolKit中一并安装)
Windows上支持Nsight调试器,这一点极为方便
CUDA程序支持向后兼容
INVIDIA 支持CUDA编程的GPU:https://developer.nvidia.com/cuda-gpus
CUDA ToolKit:https://developer.nvidia.com/cuda-toolkit
通过CUDA检测本机上的GPU信息
/************************************************************************/
/* cuda测试 */
/************************************************************************/
#include <iostream>
#include <cuda_runtime_api.h>
#include <stdlib.h>
bool InitCUDA()
{
int count;
cudaGetDeviceCount(&count);//获得cuda设备的数量
if(count == 0)
{
std::cout<<"There is no device.\n" ;
return false;
}
int i;
for(i = 0; i < count; i++)
{
cudaDeviceProp prop;//cuda设备属性对象
if(cudaGetDeviceProperties(&prop, i) == cudaSuccess)
{
std::cout<<"设备名称:"<<prop.name<<"\n" ;
std::cout<<"计算能力的主代号:"<<prop.major<<"\t"<<"计算能力的次代号:"<<prop.minor<<"\n" ;
std::cout<<"时钟频率:"<<prop.clockRate<<"\n" ;
std::cout<<"设备上多处理器的数量:"<<prop.multiProcessorCount<<"\n" ;
std::cout<<"GPU是否支持同时执行多个核心程序:"<<prop.concurrentKernels<<"\n" ;
}
}
cudaSetDevice(i);//启动设备
return true;
}
int main()
{
if(!InitCUDA())
{
return 0;
}
std::cout<<"cuda配置成功!\n" ;
system("pause");
return 0;
}
刚开始运行可能出现的问题:
“致命错误LNK1181,无法打开输入文件‘cutil32D.lib’”,参考文献1
ShaneCook, 库克, 苏统华,等. CUDA并行程序设计:GPU编程指南[M]. 机械工业出版社, 2014.