windows 检查cuda安装_windows下cuda的安装

1. cuda的安装

到 https://developer.nvidia.com/cuda-toolkit 去下载。在安装的时候一定要自定义安装,否则将会安装很多无用的东西。安装的选项,可以选择不更新驱动程序。

或者下载离线文件安装

安装,选择自定义安装。

安装后,和英伟达cuda相关的程序如下图所示。

注意,千万不要勾选 Nsight Visual Studio Edition 2019.2等类似的无用的东西。

2. 测试环境是否安装成功

运行cmd,输入nvcc --version即可查看版本号;

set cuda,可以查看cuda设置的环境变量。

3.  运行官方自带的demo

在任务管理器中搜索,Browse CUDA Samples。 或者一般位于 C:\ProgramData\NVIDIA Corporation\CUDA Samples

未编译前,Debug文件夹中只有三个文件,如图。

成功编译后这个位置(具体路径见上图)将生成很多文件,在其中找到deviceQueryDrv.exe的程序拖入到cmd中,回车运行。

4.  自己配置cuda项目

(1)打开vs2017,创建一个空win32程序,即cuda_test项目。

(2)选择cuda_test,点击右键–>项目依赖项–>自定义生成,选择CUDA10.1。

(3)右键源文件文件夹->添加->新建项->选择CUDA C/C++File,取名cuda_main。

(4)点击cuda_main.cu的属性,在配置属性–>常规–>项类型–>选择“CUDA C/C++”。

注意:以下步骤中的项目属性设置均针对x64。

(5)包含目录配置:

右键点击项目属性–>属性–>配置属性–>VC++目录–>包含目录

添加包含目录:$(CUDA_PATH)\include

(6)库目录配置

VC++目录–>库目录

添加库目录:$(CUDA_PATH)\lib\x64

(7)依赖项

配置属性–>链接器–>输入–>附加依赖项

添加库文件:cublas.lib;cuda.lib;cudadevrt.lib;cudart.lib;cudart_static.lib;OpenCL.lib

cuda_main.cu代码如下:

#include "cuda_runtime.h"

#include "cublas_v2.h"

#include

#include

using namespace std;

// 定义测试矩阵的维度

int const M = 5;

int const N = 10;

int main()

{

// 定义状态变量

cublasStatus_t status;

// 在 内存 中为将要计算的矩阵开辟空间

float *h_A = (float*)malloc(N*M * sizeof(float));

float *h_B = (float*)malloc(N*M * sizeof(float));

// 在 内存 中为将要存放运算结果的矩阵开辟空间

float *h_C = (float*)malloc(M*M * sizeof(float));

// 为待运算矩阵的元素赋予 0-10 范围内的随机数

for (int i = 0; i < N*M; i++) {

h_A[i] = (float)(rand() % 10 + 1);

h_B[i] = (float)(rand() % 10 + 1);

}

// 打印待测试的矩阵

cout << "矩阵 A :" << endl;

for (int i = 0; i < N*M; i++) {

cout << h_A[i] << " ";

if ((i + 1) % N == 0) cout << endl;

}

cout << endl;

cout << "矩阵 B :" << endl;

for (int i = 0; i < N*M; i++) {

cout << h_B[i] << " ";

if ((i + 1) % M == 0) cout << endl;

}

cout << endl;

/*

** GPU 计算矩阵相乘

*/

// 创建并初始化 CUBLAS 库对象

cublasHandle_t handle;

status = cublasCreate(&handle);

if (status != CUBLAS_STATUS_SUCCESS)

{

if (status == CUBLAS_STATUS_NOT_INITIALIZED) {

cout << "CUBLAS 对象实例化出错" << endl;

}

getchar();

return EXIT_FAILURE;

}

float *d_A, *d_B, *d_C;

// 在 显存 中为将要计算的矩阵开辟空间

cudaMalloc(

(void**)&d_A, // 指向开辟的空间的指针

N*M * sizeof(float) // 需要开辟空间的字节数

);

cudaMalloc(

(void**)&d_B,

N*M * sizeof(float)

);

// 在 显存 中为将要存放运算结果的矩阵开辟空间

cudaMalloc(

(void**)&d_C,

M*M * sizeof(float)

);

// 将矩阵数据传递进 显存 中已经开辟好了的空间

cublasSetVector(

N*M, // 要存入显存的元素个数

sizeof(float), // 每个元素大小

h_A, // 主机端起始地址

1, // 连续元素之间的存储间隔

d_A, // GPU 端起始地址

1 // 连续元素之间的存储间隔

);

cublasSetVector(

N*M,

sizeof(float),

h_B,

1,

d_B,

1

);

// 同步函数

cudaThreadSynchronize();

// 传递进矩阵相乘函数中的参数,具体含义请参考函数手册。

float a = 1; float b = 0;

// 矩阵相乘。该函数必然将数组解析成列优先数组

cublasSgemm(

handle, // blas 库对象

CUBLAS_OP_T, // 矩阵 A 属性参数

CUBLAS_OP_T, // 矩阵 B 属性参数

M, // A, C 的行数

M, // B, C 的列数

N, // A 的列数和 B 的行数

&a, // 运算式的 α 值

d_A, // A 在显存中的地址

N, // lda

d_B, // B 在显存中的地址

M, // ldb

&b, // 运算式的 β 值

d_C, // C 在显存中的地址(结果矩阵)

M // ldc

);

// 同步函数

cudaThreadSynchronize();

// 从 显存 中取出运算结果至 内存中去

cublasGetVector(

M*M, // 要取出元素的个数

sizeof(float), // 每个元素大小

d_C, // GPU 端起始地址

1, // 连续元素之间的存储间隔

h_C, // 主机端起始地址

1 // 连续元素之间的存储间隔

);

// 打印运算结果

cout << "计算结果的转置 ( (A*B)的转置 ):" << endl;

for (int i = 0; i < M*M; i++) {

cout << h_C[i] << " ";

if ((i + 1) % M == 0) cout << endl;

}

// 清理掉使用过的内存

free(h_A);

free(h_B);

free(h_C);

cudaFree(d_A);

cudaFree(d_B);

cudaFree(d_C);

// 释放 CUBLAS 库对象

cublasDestroy(handle);

getchar();

return 0;

}

5 使用VS下的模板创建

打开VS 2017,我们可以观察到,在VS2017模板一栏下方出现了“NVIDIA/CUDA 10.1”。

直接新建一个CUDA 10.1 Runtime 项目。

右键项目 → 属性 → 配置属性 → 链接器 → 常规 → 附加库目录,添加以下目录:

$(CUDA_PATH_V10_0)\lib$(Platform)

示例代码如下:

#include "cuda_runtime.h"

#include "device_launch_parameters.h"

#include

int main() {

int deviceCount;

cudaGetDeviceCount(&deviceCount);

int dev;

for (dev = 0; dev < deviceCount; dev++)

{

int driver_version(0), runtime_version(0);

cudaDeviceProp deviceProp;

cudaGetDeviceProperties(&deviceProp, dev);

if (dev == 0)

if (deviceProp.minor = 9999 && deviceProp.major == 9999)

printf("\n");

printf("\nDevice%d:\"%s\"\n", dev, deviceProp.name);

cudaDriverGetVersion(&driver_version);

printf("CUDA驱动版本: %d.%d\n", driver_version / 1000, (driver_version % 1000) / 10);

cudaRuntimeGetVersion(&runtime_version);

printf("CUDA运行时版本: %d.%d\n", runtime_version / 1000, (runtime_version % 1000) / 10);

printf("设备计算能力: %d.%d\n", deviceProp.major, deviceProp.minor);

printf("Total amount of Global Memory: %u bytes\n", deviceProp.totalGlobalMem);

printf("Number of SMs: %d\n", deviceProp.multiProcessorCount);

printf("Total amount of Constant Memory: %u bytes\n", deviceProp.totalConstMem);

printf("Total amount of Shared Memory per block: %u bytes\n", deviceProp.sharedMemPerBlock);

printf("Total number of registers available per block: %d\n", deviceProp.regsPerBlock);

printf("Warp size: %d\n", deviceProp.warpSize);

printf("Maximum number of threads per SM: %d\n", deviceProp.maxThreadsPerMultiProcessor);

printf("Maximum number of threads per block: %d\n", deviceProp.maxThreadsPerBlock);

printf("Maximum size of each dimension of a block: %d x %d x %d\n", deviceProp.maxThreadsDim[0],

deviceProp.maxThreadsDim[1],

deviceProp.maxThreadsDim[2]);

printf("Maximum size of each dimension of a grid: %d x %d x %d\n", deviceProp.maxGridSize[0], deviceProp.maxGridSize[1], deviceProp.maxGridSize[2]);

printf("Maximum memory pitch: %u bytes\n", deviceProp.memPitch);

printf("Texture alignmemt: %u bytes\n", deviceProp.texturePitchAlignment);

printf("Clock rate: %.2f GHz\n", deviceProp.clockRate * 1e-6f);

printf("Memory Clock rate: %.0f MHz\n", deviceProp.memoryClockRate * 1e-3f);

printf("Memory Bus Width: %d-bit\n", deviceProp.memoryBusWidth);

}

return 0;

}

参考文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在 Windows 操作系统下安装 CUDA 8.0 的步骤: 1. 确认你的显卡支持 CUDA。可以在 NVIDIA 的官方网站上查看支持 CUDA 的显卡型号。 2. 下载 CUDA 8.0 安装包。可以在 NVIDIA 的官方网站上下载适用于 Windows 操作系统的 CUDA 8.0 安装包。 3. 双击安装包进行安装。按照提示一步步进行安装,选择安装路径和组件。注意,在选择安装组件时,选择 CUDA Toolkit(包括 CUDA 编译器和 CUDA 库)和 CUDA Visual Studio Integration(如果你使用 Visual Studio 进行 CUDA 开发的话)。 4. 安装完成后,将 CUDA安装路径添加到系统环境变量 PATH 中。方法是:在 Windows 桌面上,右键点击“计算机”或“此电脑”,选择“属性” -> “高级系统设置” -> “环境变量”,在“系统变量”中找到“Path”,然后点击“编辑”按钮,在变量值的最后添加“;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin”(注意路径要根据你的实际安装路径进行修改)。 5. 安装 CUDA 驱动程序。在安装 CUDA 时,已经默认安装了相应的驱动程序。但是如果你需要手动安装驱动程序,可以在 NVIDIA 的官方网站上下载相应的驱动程序进行安装。 6. 安装 cuDNN 库。cuDNN 库是针对深度学习框架的加速库,可以显著提高训练速度。可以在 NVIDIA 的官方网站上下载适用于 CUDA 8.0 的 cuDNN 库并按照说明进行安装。 7. 安装完毕后,重启计算机,检查 CUDA 是否成功安装。可以在命令行中输入“nvcc -V”命令,如果显示 CUDA 版本信息,则说明 CUDA 安装成功。 希望这些步骤能够帮助到你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值