VS Visual Studio 2017 +cuda环境配置+创建项目

一、使用vs+cuda+cudnn环境配置

配置过程必须先安装VS,在安装cuda和cudnn

1、安装VS 2017-2022 其中一个版本

VS官网下载地址:https://visualstudio.microsoft.com/zh-hans/

2、安装CUDA

首先,在Geforce Experience软件更新驱动到最新版本。
其次,查看当前支持的cuda版本。在cmd中输入nvidia-smi查看,支持最高版本为cuda12.3。

然后,进入cuda官网进行下载https://developer.nvidia.com/cuda-toolkit-archive

选择合适版本的CUDA,这里我们选择版本12.2进行下载,进入下载页面,根据系统版本以及安装方式进行选择,点击Download进行安装包下载。

下载完成后进行双击安装,可以自定义安装路径。

同意安装协议。

选择自定义安装。

默认全部安装,选择下一步。
在这里插入图片描述可以自定义选择安装路径。
在这里插入图片描述
直接下一步,cuda开始安装。安装完成之后检查系统环境变量。
在这里插入图片描述
path变量里面新增下面几项内容。
在这里插入图片描述
在Path变量里面手动增加如下几项,该路径为CUDA的安装路径。
在这里插入图片描述
在cmd命令框中查看是否安装成功。输入 nvcc -v 命令进行查看。输入版本信息即为安装成功。

3、配置CUDNN

进入官网进行下载对应版本的cudnn。需要提前注册好nvidia账号,官网地址为:https://developer.nvidia.com/rdp/cudnn-archive
可以看到cuda的对应版本cudnn
根据系统进行选择
点击下载之后,解压缩包之后,将三个文件夹复制到刚刚cuda的安装目录即可。
LICENSE不进行复制

环境配置完成之后进行检验。进入刚才的cuda安装目录的extras\demo_suite下的bandwidthTest.exe和deviceQuery.exe检查是否安装成功,收到result=pass则表示安装成功了!
在这里插入图片描述
在这里插入图片描述

二、使用vs生成cuda项目的两种方法

方法1 直接生成cuda项目

1.直接创建一个CUDA项目

2.项目名右键->属性->CUDA C++ ->第一行填写 $(CUDA_PATH) ->
确定

3.更改Windows SDK : 项目名右键->属性->常规->Windows SDK 版本 选择已安装的版本。

方法2 使用空项目进行配置

1.打开一个空项目

2.项目名右键->生成依赖项->生成自定义->勾选CUDA

2.项目名右键->属性->第一行填写 $(CUDA_PATH) ->
确定

4.在工程名上点击右键,选择添加——新建项。在新建项对话框中选择CUDA12.2,在右侧选择CUDA 12.2 C/C++ File 文件名修改为main

5.复制下代码到main.cu,运行

// A code block
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <iostream>
__global__ void VecAdd(int* A, int* B, int* C)
{
    int i = threadIdx.x;
    C[i] = A[i] + B[i];
}
int main() {
    const int size = 3;
    int a[size] = { 1,2,3 };
    int b[size] = { 10,20,30 };
    int c[size] = { 0 };
    //定义设备变量
    int* dev_a = 0;
    int* dev_b = 0;
    int* dev_c = 0;
    //CUDA状态
    cudaError_t cudaStatus;
    //选择GUP
    cudaStatus = cudaSetDevice(0);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "选择GPU失败,您的电脑上没有GPU");
        return 0;
    }
    //分配GUP内存
    cudaStatus = cudaMalloc((void**)&dev_c, size * sizeof(int));
    if (cudaStatus != cudaSuccess)
        fprintf(stderr, "dev_c内存分配失败");
    cudaStatus = cudaMalloc((void**)&dev_a, size * sizeof(int));
    if (cudaStatus != cudaSuccess)
        fprintf(stderr, "dev_a内存分配失败");
    cudaStatus = cudaMalloc((void**)&dev_b, size * sizeof(int));
    if (cudaStatus != cudaSuccess)
        fprintf(stderr, "dev_b内存分配失败");
    //从主机内存复制数据到GPU内存
    cudaStatus = cudaMemcpy(dev_a, a, size * sizeof(int), cudaMemcpyHostToDevice);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "dev_a复制失败");
    }
    //从主机内存复制数据到GPU内存
    cudaStatus = cudaMemcpy(dev_b, b, size * sizeof(int), cudaMemcpyHostToDevice);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "dev_b复制失败");
    }
    //调用GPU计算
    VecAdd << <1, size >> > (dev_a, dev_b, dev_c);
    //获取错误状态
    cudaStatus = cudaGetLastError();
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "VecAdd 调用失败: %s\n", cudaGetErrorString(cudaStatus));
    }

    cudaStatus = cudaDeviceSynchronize();
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "cudaDeviceSynchronize 返回错误 %d!\n", cudaStatus);
    }
    //将计算结果返回主机
    cudaStatus = cudaMemcpy(c, dev_c, size * sizeof(int), cudaMemcpyDeviceToHost);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "从GPU复制数据失败!");
    }
    printf("{1,2,3} + {10,20,30} = {%d,%d,%d}\n",
        c[0], c[1], c[2]);
    cudaFree(dev_a);
    cudaFree(dev_b);
    cudaFree(dev_c);
    return 0;
}

6.编译并执行。

三、cuda项目创建过程中遇到的问题解决

#include <stdio.h>报错
解决办法:重新配置windows sdk,选择本机已经安装的SDK即可。
在这里插入图片描述

要在Linux Ubuntu操作系统中配置Visual Studio Code与C代码开发环境,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Visual Studio Code。你可以在Ubuntu软件中心或者通过命令行使用以下命令来安装它:sudo apt install code 2. 安装C/C++扩展。打开Visual Studio Code,点击左侧的扩展图标(方块形状的图标),在搜索框中输入"C/C++",选择"ms-vscode.cpptools"扩展并点击安装。 3. 安装GCC编译器。GCC是一款常用的C编译器,你可以使用以下命令来安装:sudo apt install build-essential 4. 创建一个C代码文件。在Visual Studio Code中,点击"文件"->"新建文件",然后保存文件并将其命名为以.c结尾的文件名,例如"hello.c"。 5. 配置调试器。在Visual Studio Code中,点击左侧的调试图标(虫子形状的图标),然后点击"创建一个启动配置文件"。选择"C++ (GDB/LLDB)",然后将生成的launch.json文件中的"program"属性值改为你的C代码文件的路径。 6. 编写和调试代码。在C代码文件中编写你的代码,然后点击左侧的调试图标,点击绿色的"播放"按钮来开始调试你的代码。 至此,你已经成功配置了Visual Studio Code与C代码的开发环境。你可以编写、调试和运行你的C代码了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Linux操作系统Ubuntu 22.04配置Visual Studio Code与C++代码开发环境的方法](https://blog.csdn.net/zhebushibiaoshifu/article/details/127037709)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值