VS2022 CUDA环境配置的实现步骤

 更新时间:2023年05月26日 10:45:42   作者:微小冷  
本文主要介绍了VS2022 CUDA环境配置的实现步骤,文中通过图文示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

安装准备

配置Cuda环境主要分为以下几个步骤

  • 安装VS 这个应该不用太说,直接装最新版
  • 安装CUDA 下载地址:Cuda Toolkit
  • 安装cuDNN 下载地址:cuDNN archieve

这个安装顺序非常重要,一定是先装VS后装CUDA Toolkit,否则CUDA不可能未卜先知地在VS目录中创建项目模板。

为了确认Cuda的安装版本,可在命令行中输入nvidia-smi,其返回值如下,表头中的CUDA Version便是Cuda版本,我这里是12.1,所以选择CUDA Toolkit 12.1.0cuDNN选择最新的v8.8.1 for CUDA 12.x

>nvidia-smi
Tue Apr 25 11:52:50 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 531.14                 Driver Version: 531.14       CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                      TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4060 L...  WDDM | 00000000:01:00.0  On |                  N/A |
| N/A   36C    P8                3W /  N/A|    250MiB /  8188MiB |      1%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A     10556    C+G   ...auncher\PowerToys.PowerLauncher.exe    N/A      |
|    0   N/A  N/A     10980    C+G   ...rPicker\PowerToys.ColorPickerUI.exe    N/A      |
+---------------------------------------------------------------------------------------+

Cuda toolkit安装的第一步是解压,可以选择一个临时地址,直到NVIDIA安装程序的界面弹出后,才开始真正安装。在安装过程中,选择自定义可以自行选择安装路径,剩下没什么好说的,安装成功之后,在命令行中输入nvcc -V可返回版本呢信息。

>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Wed_Feb__8_05:53:42_Coordinated_Universal_Time_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0

cuDNN在安装时需要注册,下载完成后将压缩包中的三个文件夹解压到Cuda安装目录中,然后就能用了。

新建项目

安装成功之后,打开VS2022,就可以看到CUDA12.1的项目模板,点进去之后就能创建CUDA程序了

CUDA,或者说GPU的编程逻辑是,先将内存中的数组写入到显存中,然后再执行操作。

其自带的模板程序非常简单,就是对两个数组进行并行求和,用到的是一个自定义函数

__global__ void addKernel(int *c, const int *a, const int *b)
{
    int i = threadIdx.x;
    c[i] = a[i] + b[i];
}

但在具体调用时,用到了<<<>>>这个语法,表示GPU调用的线程块,示例程序在调用自定义函数addKernel时,用到了下面的代码,表示调用1个线程块,每个线程块中有5个线程。

//size=5
addKernel<<<1, size>>>(dev_c, dev_a, dev_b);

到此这篇关于VS2022 CUDA环境配置的实现步骤的文章就介绍到这了,更多相关VS2022 CUDA环境配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Qt定时器(QTimer)的3种使用方法

    Qt定时器(QTimer)的3种使用方法

    本文主要介绍了Qt定时器(QTimer)的3种使用方法,主要包括QObject类提供的定时器,QTimer类提供的定时器,静态的singleShot ()函数创建单触发定时器,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • opencv实现定时录像功能

    opencv实现定时录像功能

    这篇文章主要为大家详细介绍了opencv实现定时录像功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • C++ CPU的局部性原理两种类型解析

    C++ CPU的局部性原理两种类型解析

    这篇文章给大家介绍了CPU的局部性原理,包括时间局部性、空间局部性以及如何通过缓存利用这些局部性来提高程序性能,局部性原理是现代计算机体系结构和高性能编程的核心思想,感兴趣的朋友跟随小编一起看看吧
    2026-02-02
  • C++实现LeetCode(163.缺失区间)

    C++实现LeetCode(163.缺失区间)

    这篇文章主要介绍了C++实现LeetCode(163.缺失区间),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 详解C++中菱形继承的原理与解决方法

    详解C++中菱形继承的原理与解决方法

    C++中的菱形继承是多继承的一种特殊情况,本文将通过海里带大家了解一下菱形继承形成的原因以及想应的解决方法,感兴趣的可以了解一下
    2023-02-02
  • C++ 数据结构二叉树(前序/中序/后序递归、非递归遍历)

    C++ 数据结构二叉树(前序/中序/后序递归、非递归遍历)

    这篇文章主要介绍了C++ 数据结构二叉树(前序/中序/后序递归、非递归遍历)的相关资料,这里提供实例代码来帮助大家理解掌握二叉树,需要的朋友可以参考下
    2017-07-07
  • c++ 排查内存泄漏的妙招

    c++ 排查内存泄漏的妙招

    这篇文章主要介绍了c++ 如何用辅助类排查内存泄漏,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下
    2021-03-03
  • 给C语言初学者的学习建议

    给C语言初学者的学习建议

    在本篇文章里小编给大家分享的是关于C语言学习建议的相关内容,有兴趣的朋友们可以学习参考下。
    2020-06-06
  • opencv图片的任意角度旋转实现示例

    opencv图片的任意角度旋转实现示例

    这篇博客将介绍如何使用OpenCV旋转图像任意角度,实现各个角度的旋转,具有一定的参考价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • VisualStudio2022制作多项目模板及Vsix插件的实现

    VisualStudio2022制作多项目模板及Vsix插件的实现

    本文主要介绍了VisualStudio2022制作多项目模板及Vsix插件的实现,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06

最新评论