VScode+cuda编程:常见环境问题

news2024/11/15 11:42:32

VScode+cuda:常见环境配置问题

  • 1、VScode终端问题(PS)
  • 2、编译问题(CUDA版本过低)
  • 3、nvcc编译问题(arch架构)

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

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

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

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

问题现象:

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

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

补充:查看自己电脑的CUDA驱动版本
右击nvidia控制面板->帮助->系统信息->组件
在这里插入图片描述
如图,本人电脑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
在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/342062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

波奇学c语言:代码的编译和链接

test.c(源文件)->编译->test.obj(目标文件)->链接->test.exe(可执行文件)编译1.预编译(预处理):text.c->text.i使用gcc -E test.c 进行停止预处理指令&am…

Java修饰符和运算符,超详细整理,适合新手入门

目录 一、访问控制修饰符 1、访问权限 二、运算符 1、算术运算符 2、关系运算符 3、逻辑运算符 4、赋值运算符 5、三元运算符 一、访问控制修饰符 Java 支持 4 种不同的访问权限: private 私有的 protected 受保护的 public 公共的 default 默认 1、…

【手写 Vuex 源码】第九篇 - Vuex 响应式数据和缓存的实现

一,前言 上一篇,主要介绍了 Vuex 的 State 状态安装,主要涉及以下几个点: State 状态的安装逻辑;两个核心问题的思路;代码实现以及执行情况分析; 本篇,继续介绍 Vuex 模块相关概念…

计算机组成原理(五)

3.理解主存储器与CPU的连接原理;   主存通过数据总线、地址总线和控制总线与CPU连接;   数据总线的位数与工作频率的乘积正比于数据传输率;   地址总线的位数决定了可寻址的最大内存空间;   控制总线(读/写&am…

excel操作实例:如何制作一个学习计划阶段图表

预则立不预则废。不管是为了避免被裁员的窘迫,还是为了获得更高的薪水,都有必要在2023年尽快学精Excel,成为行业高手。教程把要成为Excel高手的几道坎,也是要攻克的目标做成图表,希望大家的努力更有效。要变成Excel高手…

Redis 缓存穿透、缓存击穿和缓存雪崩

Redis 缓存穿透和缓存雪崩 缓存穿透和缓存雪崩这两个概念和知识点我们一定要掌握,因为我们工作中经常会遇到缓存穿透和缓存雪崩的情况。 Redis 缓存穿透(查不到) 缓存穿透是指客户端请求一个缓存和数据库中都不存在的 key。由于缓存中不存在…

【遇见青山】项目难点:集群下的分布式锁问题

【遇见青山】项目难点:集群下的分布式锁问题1.问题简介2.分布式锁分析3.基于Redis实现分布式锁1.0版本4.基于Redis实现分布式锁2.0版本,解决锁误删问题5.基于Redis实现分布式锁3.0版本,解决锁的原子性问题1.问题简介 在《【遇见青山】项目难…

Sliver取代Cobalt Strike成黑客渗透工具“新宠”

8月25日消息,攻击者逐渐弃用Cobalt Strike渗透测试套件,转而使用不太知名的类似框架。开源跨平台工具Sliver正取代Brute Ratel成为受攻击者青睐的武器。 在过去的几年里,Cobal Strike被各类攻击者滥用(包括勒索软件操作&#xff…

行为型模式 - 模板方法模式Template Method

学习而来,代码是自己敲的。也有些自己的理解在里边,有问题希望大家指出。 模式的定义与特点 模板方法(Template Method),模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类…

JavaSE XML解析技术的使用详解

文章目录XML解析技术XML解析技术介绍Dom4j解析XML文件Dom4j解析各个节点Dom4j解析案例实战XML解析技术 XML解析技术介绍 XML的数据作用是什么? 最终需要怎样处理? 作用: 存储数据、做配置信息、进行数据传输。 最终需要被程序进行读取,解析里面的信息。 XML解析…

【路径规划】基于A*算法和Dijkstra算法的路径规划(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Python蓝桥杯训练:基本数据结构 [链表]

Python蓝桥杯训练:基本数据结构 [链表] 文章目录Python蓝桥杯训练:基本数据结构 [链表]一、链表理论基础知识二、有关链表的一些常见操作三、力扣上面一些有关链表的题目练习1、[移除链表元素](https://leetcode.cn/problems/remove-linked-list-element…

TCP报头详解及TCP十种核心机制(一)

目录 前言: TCP报头 TCP核心机制 一、确认应答 二、超时重传 小结: 前言: 这篇文章详细介绍了TCP报头中的一些核心数据,及两种TCP核心机制。其他的一些机制会在后面文章中详细介绍。 TCP报头 解释: 1&#xff…

电商仓储与配送云仓是什么?

仓库是整个供给链的关键局部。它们是产品暂停和触摸的点,耗费空间和时间(工时)。空间和时间反过来也是费用。经过开发数学和计算机模型来微调仓库的规划和操作,经理能够显著降低与产品分销相关的劳动力本钱,进步仓库空间应用率,并…

docker/docker-compose 安装mysql5.7

目录使用docker安装mysql5.7docker普通安装docker生产环境安装使用docker-compose 安装注意注意一:docker-compose权限问题注意二:docker pull 找不到镜像使用docker安装mysql5.7 docker普通安装 docker pull mysql:5.7 # 启动容器 docker run -p 3306:3306 --name mysql -e …

数组和对象的拷贝(复制)

复制必须要产生新的对象。以下代码不是复制。 const arr ["孙悟空", "猪八戒", "沙和尚"]const arr2 arr // 不是复制,只是将arr的值赋给arr2,他们指的还是一个对象console.log(arr) // 二者输出一样 console.log(…

数楼梯(加强版)

数楼梯(加强版) 题目背景: 小明一天放学回家,看到从1楼到2楼共有n个台阶,因为好奇,他想尝试一下总共有几种方案到二楼?他可以1步,2步,3步的跳,不能跳3步以上. 他试了很多次都没有解决这个问题,于是请求聪明的你帮忙解决这个问题. 题目描述: 1楼到2楼楼梯有n级台阶。小明每…

Learning C++ No.8【内存管理】

引言: 北京时间:2023/2/12/18:04,昨天下午到达学校,摆烂到现在,该睡睡,该吃吃,该玩玩,在一顿操作之下,目前作息调整好了一些,在此记录,2月11&…

C++基础(6) - 复合类型(下)

文章目录指针1、指针概述1.1 存储器和存储地址空间1.2 内存地址1.3 指针和指针变量2、声明和初始化指针变量2.1 指针变量的声明2.2 指针变量的初始化3、使用指针变量3.1 解除引用3.2 野指针和空指针4、指针的宽度和跨度4.1 自身类型和指向类型4.2 指针变量所取内容的宽度4.3 指…

chatGPT会是银弹吗

chatGP最近火的一塌糊涂,它通过语言生成技术和自然语言处理能力,帮助用户快速解决问题并生成内容。目前,这款工具现在已经拥有超过一亿的活跃用户,并且因其高效率和易用性而受到了广大用户的好评。 不过谷歌可就倒霉了&#xff0c…