首先声明,本文借鉴自:
所以,可参考链接的博文。但原文有个瑕疵就是,cublas.lib错写成了cudlas.lib。
其次,我还是记下我的CUDA8.0的安装和测试过程,是为备忘。
步骤如下:
1.下载安装CUDA:
1.1 下载。请到 ,选择合适的版本。如果版本不合适,安装的时候会提示的,但还是下载最新的比较好;
1.2 安装。双击cuda_7.5.18_win10.exe,一步步来就好。
2.VS2013配置和测试
2.1 重启计算机。关于是否添加环境变量,笔者安装的时候系统已自动添加好对应的环境变量,如果没有,请查看上文链接的博文;
2.2 配置VS。也请参考上述博文,不再赘述。
3.测试
上两个测试文件。
3.1
1 #include< stdio.h> 2 #include "cuda_runtime.h" 3 #include "device_launch_parameters.h" 4 bool InitCUDA() 5 { 6 int count; 7 cudaGetDeviceCount(&count); 8 if(count == 0) 9 { 10 fprintf(stderr, "There is no device.\n"); 11 return false; 12 } 13 int i; 14 for(i = 0; i < count; i++) 15 { 16 cudaDeviceProp prop; 17 if(cudaGetDeviceProperties(&prop, i) == cudaSuccess) 18 { 19 if(prop.major >= 1) 20 { 21 break; 22 } 23 } 24 } 25 if(i == count) 26 { 27 fprintf(stderr, "There is no device supporting CUDA 1.x.\n"); 28 return false; 29 } 30 cudaSetDevice(i); 31 return true; 32 } 33 34 int main() 35 { 36 if(!InitCUDA()) 37 { 38 return 0; 39 } 40 printf("HelloWorld, CUDA has been initialized.\n"); 41 return 0; 42 }
3.2
1 // CUDA runtime 库 + CUBLAS 库 2 #include "cuda_runtime.h" 3 #include "cublas_v2.h" 4 5 #include6 #include 7 8 using namespace std; 9 10 // 定义测试矩阵的维度 11 int const M = 5; 12 int const N = 10; 13 14 int main() 15 { 16 // 定义状态变量 17 cublasStatus_t status; 18 19 // 在 内存 中为将要计算的矩阵开辟空间 20 float *h_A = (float*)malloc (N*M*sizeof(float)); 21 float *h_B = (float*)malloc (N*M*sizeof(float)); 22 23 // 在 内存 中为将要存放运算结果的矩阵开辟空间 24 float *h_C = (float*)malloc (M*M*sizeof(float)); 25 26 // 为待运算矩阵的元素赋予 0-10 范围内的随机数 27 for (int i=0; i
特别注意,是cublas.lib,不是cudlas.lib
祝好运。