0. 问题描述

  1. 该问题产生于我在ptcharm中试图用cupy加速numpy计算,进行一些简单但是繁琐的数据处理,这个问题和cupy关系不大,cupy只要照着nvcc -v给出的版本号对应着下载就ok了
  2. 问题的本质是GPU代码的编译问题,因此pytorch等需要CUDA编译器(NVCC)的都有可能遇到这个问题
  3. 因为光顾着解决问题,没粘贴报错细节,报错信息其实很长,可以见这个帖子,我遇到的问题和他一样

1. 问题定位

  1. 问题定位到如下信息:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include\sm_32_intrinsics.hpp(124): error: asm operand type size(8) does not match type/size implied by constraint ‘r’

2. 解决方法

  • 因为我是利用pycharm,不是自己手动在命令行进行编译,所以采用了这个神帖里给出的第二种解决方法:在cmd中执行:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
  • 其实就是找到Microsoft Visual Studio文件夹下的VC\Auxiliary\Build\vcvarsall.bat这个东西,然后给它一个参数x64表示你是想要在64-bit环境下执行编译。
  • 注意执行完上述命令关闭cmd之后重启一下pycharm,不重启的我多走了半天的弯路哭都没地哭QAQ
  • 执行完上述命令后是这个样子:
  • 如果你的问题没有解决,可以参照神贴下面另一个人给出的解决方法(都试试没坏处)
  • 如果上述依然不能解决,可以看看自己环境变量里都设置对了没

3. 问题原因

  1. 怎么说,因为可能gcc或者什么很多是默认是32-bit进行编译,而nvcc基本都是64-bit(这个其实取决于你的电脑,一般都会下载64-bit)。很多项目包含了gpu代码和cpu代码(比如我用了cupy代替numpy的同时也用了一些cpu下的python包),nvcc编译gpu代码的时候默认是编译64位平台结果,然而cpu代码编译时可能使用了32位的编译器。
  2. But所有非CUDA编译由通用的C编译器完成,cl或者gcc。导致这种“混编”容易因为位数不同导致上述问题的出现。
  3. 至于再细节的我看到了一些说是“对齐方式”不同导致的,或者是“寄存器设置”导致的。总之都是64位和32位的设置在打架
  4. nvcc的编译可以参考这里

4. reference

https://blog.csdn.net/qq_42679415/article/details/124318003
https://stackoverflow.com/questions/12843846/problems-when-running-nvcc-from-command-line%5B/url%5D
https://blog.csdn.net/weixin_29022115/article/details/116587084?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-116587084-blog-116786403.t0_edu_mix&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-116587084-blog-116786403.t0_edu_mix&utm_relevant_index=1

CUDA编译器nvcc可能遇到:error: asm operand type size(8) does not match type/size implied by constraint ‘r‘相关推荐

  1. TypeError: Input 'b' of 'MatMul' Op has type float32 that does not match type int32 of argument 'a'.

    执行如下语句报错 TypeError: Input 'b' of 'MatMul' Op has type float32 that does not match type int32 of argu ...

  2. CUDA编译器nvcc的用法用例与问题简答

    本文使用nvcc版本:Cuda compilation tools, release 5.5, V5.5.0 1.nvcc支持OpenMP 书写makefile时,使用-fopenmp命令选项时会报n ...

  3. 【Python】Error:Input 'y' of 'Add' Op has type float32 that does not match type int32 of argument 'x'.

    学习Python,碰到数据类型不一致进行运算出现的问题,问题现象.原因.解决办法如下. 1.问题代码 # 引入 tensorflow 模块 import tensorflow as tf# 创建两个常 ...

  4. 检查CUDA的NVCC编译器和GPU加速卡

    在安装好CUDA环境之后,初次使用CUDA之前还要检查编译器NVCC和GPU加速卡 1.检查CUDA的NVCC编译器是否安装正确: $ which nvcc 2.检查机器上是否安装了GPU加速卡 $ ...

  5. nvcc(CUDA编译器)

    nvcc就是CUDA的编译器 nvcc是10.0就代表你装了CUDA的版本是10,0. nvcc可以从CUDA Toolkit的/bin目录中获取,类似于gcc就是c语言的编译器.由于程序是要经过编译 ...

  6. windows下的C++与cuda编译器位置

    在windows下最常见的C++编译器为visual studio自带的编译器cl.exe 通常其所在目录为: C:\Program Files (x86)\Microsoft Visual Stud ...

  7. 矩池云上CUDA、nvcc、cuDNN相关操作汇总

    本文汇总整理如何在矩池云上安装.使用CUDA .nvcc.cudnn的教程,后续还将不断补充,也欢迎大家在评论区提相关问题. 优质提问和反馈,将有机会获得矩池云算力豆激励- CUDA相关文章 CUDA ...

  8. c语言 2059 语法错误,关于CUDA C 项目中“ error C2059: 语法错误:“” ”问题的解决方法...

    该问题的关键在于理解CUDA项目中C\C++文件需要由c++编译器进行编译,而CUDA C的源文件需要由CUDA的编译器nvcc.exe进行编译. 发生该语法错误的原因是cu文件被C++编译器所编译, ...

  9. QT之error: cannot bind non-const lvalue reference of type ‘CBaowen’ to an rvalue of type ‘CBaowen

    问题描述:QT中自己编写了一个结构体变量CBaowen,报文中含有函数重载部分(如下所示), 之后定义一个队列变量 QQueue<CBaowen>  queue; 当给队列变量赋值时que ...

最新文章

  1. DevExpress z
  2. 插入排序--希尔排序
  3. Flex 弹性盒基本语法
  4. 在bcb中添加activex控件_LinkedCell 属性介绍,OLEObjects 控件
  5. wxWidgets:wxSpinEvent类用法
  6. mysql 排除另一表_MYSQL 两表 排除 重复记录
  7. 在等待Jakarta EE时
  8. 历史精华文章分类汇总,祝大家中秋快乐!
  9. 小白学习MVC5+EF6遇到的问题一
  10. [转载] python 语音识别 中文_python中文语音识别
  11. 串口转usb驱动c语言程序,电脑中USB转串口如何正确安装对应的驱动程序
  12. wind金融数据接口python_Wind——接口python
  13. java 视频截图_Java Web 中使用ffmpeg实现视频转码、视频截图
  14. JS图片压缩+图片上传前检测类型、大小、尺寸
  15. AndroidStudio|读取SD卡中的sqlite数据
  16. mysql 幻读理解_Mysql 幻读 的一些个人理解
  17. 提升工作效率的软件及网站(不断更新中)
  18. 2014年 IT 行业校招待遇
  19. jquery 模糊匹配
  20. python之json数据库

热门文章

  1. sklearn主成分分析PCA
  2. 现代密码学(二)——DH密钥协商协议
  3. 如何打造爆款短视频?从标题到配音,掌握小技巧才能事半功倍
  4. 【Android】设置TextView文字居中
  5. 前端项目处理用户设备缩放
  6. ubuntu16无线网卡型号查询及驱动安装,联想G400 BCM43142网卡wifi
  7. MySQL中你可能忽略的COLLATION实例详解
  8. linux批量下载数据,[转载]linux shell批量下载IGS或CORS网FTP数据
  9. 抖音字符画实现过程中的问题
  10. python社会网络分析教授_NetMiner | 社会网络可视化分析软件