服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - VScode+cuda编程常见环境问题的解决

VScode+cuda编程常见环境问题的解决

2023-03-06 15:23北北鸿 C/C++

本文主要介绍了VScode+cuda编程常见环境问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、VScode终端问题(PS)

问题描述:
在VScode下打开终端执行nvcc指令,发现执行不了,但是在外部终端powershell和cmd都可以。发现PS问题

问题现象:

PS D:\CUDA_test> nvcc -arch=sm_80 -o hello-gpu hello-gpu.cu -run
nvcc : 无法将“nvcc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1+ nvcc -arch=sm_80 -o hello-gpu hello-gpu.cu -run+ ~~~~+ CategoryInfo : ObjectNotFound: (nvcc:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException

VScode+cuda编程常见环境问题的解决

问题解决:
重启电脑,在终端打开command prompt,发现就去掉前面PS了,执行指令成功。

VScode+cuda编程常见环境问题的解决

VScode+cuda编程常见环境问题的解决

 

2、编译问题(CUDA版本过低)

问题描述:终端能执行但是编译不成功。

问题现象:

fatal error C1189: #error: STL1002: Unexpected compiler version, expected CUDA CUDA 10.1

问题解决:
CUDA版本太低,本人把CUDA10.1卸载后重新装了CUDA11.1,发现成功了。

补充:查看自己电脑的CUDA驱动版本
右击nvidia控制面板->帮助->系统信息->组件

VScode+cuda编程常见环境问题的解决

如图,本人电脑CUDA支持11.6之前的。

 

3、nvcc编译问题(arch架构)

nvcc编译cuda程序一般执行下面指令:

nvcc -arch=sm_80 -o hello-gpu hello-gpu.cu -run

一般可以缩写成

nvcc -o hello-gpu hello-gpu.cu -run

推荐使用第二种,因为可以自动适配CUDA架构。

其中-arch=sm_80含义:
先查看自己电脑显卡型号,如本人是RTX3060,百度搜得架构是Ampere,根据英伟达官方架构对应表可以得知sm_80/86/87

VScode+cuda编程常见环境问题的解决

https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#gpu-feature-list

到此这篇关于VScode+cuda编程常见环境问题的解决的文章就介绍到这了,更多相关VScode cuda常见环境内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_42287162/article/details/129009166

延伸 · 阅读

精彩推荐
  • C/C++C语言结构体(struct)常见使用方法(细节问题)

    C语言结构体(struct)常见使用方法(细节问题)

    这篇文章主要介绍了C语言结构体(struct)常见使用方法(细节问题),需要的朋友可以参考下...

    秦伟H3952021-05-04
  • C/C++详解C++设计模式编程中建造者模式的实现

    详解C++设计模式编程中建造者模式的实现

    这篇文章主要介绍了C++设计模式编程中建造者模式的实现,建造者模式将一个复杂对象的构建于它的表现分离,可以减少代码冗余,需要的朋友可以参考下...

    曾经的你9652021-03-26
  • C/C++详解C++11的std::addressof源码解析

    详解C++11的std::addressof源码解析

    std::addressof的作用是获取一个对象的实际地址,即使这个对象的&操作符已被重载,本文详细的介绍了源码解析,感兴趣的可以了解一下...

    彼 方5902021-11-16
  • C/C++C++使用模板实现单链表(类外实现)

    C++使用模板实现单链表(类外实现)

    这篇文章主要为大家详细介绍了C++使用模板实现单链表的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    牧童遥指杏花村丫5582021-07-16
  • C/C++C语言实现飞机大战小游戏

    C语言实现飞机大战小游戏

    这篇文章主要为大家详细介绍了C语言实现飞机大战小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    JysinWee5462022-12-20
  • C/C++C语言中的rand()和rand_r()详解

    C语言中的rand()和rand_r()详解

    这篇文章主要为大家介绍了C语言中的rand()和rand_r(),具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助...

    高阶近似5032022-07-20
  • C/C++C++类中的继承实例详解

    C++类中的继承实例详解

    这篇文章主要介绍了C++类中的继承实例详解的相关资料,需要的朋友可以参考下...

    361251665532021-05-21
  • C/C++C++简明分析inline函数的使用

    C++简明分析inline函数的使用

    inline是C++关键字,在函数声明或定义中,函数返回类型前加上关键字inline,即可以把函数指定为内联函数。这样可以解决一些频繁调用的函数大量消耗栈空...

    编程小程8002023-02-16