在windows上编写CUDA代码

太长不看版:使用visual studio

1.无聊闲话

最近在学习CUDA并行计算,虽然资料看了不少,但一直没有实际写过代码跑一跑,所以想搭建一个环境。

CUDA程序不同于其他程序,比如java,pytho,c++甚至有线上网页可以让我们写个hello world玩一玩,或者是codespace这种云空间,虽然谷歌的colab可以调用GPU,但似乎只能跑Pytorch。

好在我大学时的古董游戏笔记本还有个独显,跟着网上成功安装了NVIDIA驱动。

尝试使用nvcc编译运行,但是window的WSL是如下结果:

Command 'nvcc' not found, but can be installed with:

sudo apt install nvidia-cuda-toolkit

powershell是如下结果 :

nvcc fatal   : Cannot find compiler 'cl.exe' in PATH

 虽然上述问题可能都有解决方案,但我实在是懒得折腾,后来我看教程忽然发现最便捷的CUDA开发环境就是visual studio,而且这一点居然很少有人提——可能是我这样的小白实在是太罕见了,大佬都想不到这居然也算一个问题。

2.环境配置

在visual studio中创建新项目,选择下图所示的CUDA模版(这个选项在我这里最下面,不太好找可以搜索,如果确实找不到,可能是安装visual studio时候没有勾选某些选项)

期望你足够幸运一路点击来到下一页面,这是一个使用GPU进行加法运算的程序模版,我们就不用担心第一次运行失败搞不清是环境问题还是自己的代码问题。

 点击下图小三角运行

 好了,可以放弃了(bushi)

好吧,我也不知道发生了什么,重启了电脑就解决了,继续上一步直接运行:

addKernel launch failed: no kernel image is available for execution on the device
addWithCuda failed!

好,可以彻底放弃了(不是)。百度发现是显卡计算能力设置有误,毕竟我的是要被历史淘汰的老显卡了,查询自己显卡计算能力可以看:
WIN10下查看CUDA版本 & 显卡计算能力_查看电脑cuda的数量有几个-CSDN博客文章浏览阅读1.4w次,点赞16次,收藏20次。WIN10下查看CUDA版本 & 显卡计算能力一、查看显卡支持的NVCUDA版本号二、查看自己显卡计算能力一、查看显卡支持的NVCUDA版本号1.在 开始菜单 或 右击桌面 打开 NVDIA控制面板2.点击 系统信息3.在弹出的 系统信息对话框 , 点击 组件在 3D设置 中第三项为 NVCUDA版本号二、查看自己显卡计算能力如果你的电脑硬件中安装了NVDIA显卡,则可以在NVIAD官网查到自己显卡的计算能力注:由于N卡分类较多,以及每类下有很多不同型号显卡_查看电脑cuda的数量有几个https://blog.csdn.net/boniu2019/article/details/106437676左上角项目→项目属性(最下面)→CUDA→Device→code generation:我修改成了compute_50,sm_50

修改之后就可以运行了

恭喜我用强大的显卡完成了一组划时代的向量加法运算。

3. hello world

再来个hello world吧。

#include "cuda_runtime.h"
#include "device_launch_parameters.h"

#include<stdio.h>

__global__ void  helloFromGPU() {
	printf("hello world, this is Nvidia GPU %d\n",blockDim.x, threadIdx.x);
}

int main() {
	printf("hello, this is Intel CPU\n");
	for (int i = 0; i < 1000; i++) {
		helloFromGPU << <1, 1000 >> > ();
	};
	cudaDeviceReset();
	return 0;
}

最后,推荐CUDA编程视频教程(虽然是照着官方手册讲的):

25.矩阵加法程序_哔哩哔哩_bilibili25.矩阵加法程序是经典 CUDA C/C++人工智能教程(AI&机器学习&HPC&科学仿真)的第26集视频,该合集共计124集,视频收藏或关注UP主,及时了解更多相关视频内容。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Qc411J7DB/?p=26&vd_source=2abe34de8ea4b6e7ba04eee8b99aabd9

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值