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. 如何给机房的服务器安装系统,云机房服务器系统安装
  2. https 证书验证等原理
  3. 英文论文中i.e.,e.g.,etc.的正确用法
  4. 神经网络 mse一直不变_干货RBF神经网络在财务报表舞弊识别中的应用
  5. python编程(multiprocessing库)
  6. JavaScript学习(四十一)—字面量形式创建对象的注意事项和不足
  7. python网络编程学习笔记(6):Web客户端访问
  8. python string转int_Python编程入门:time模块常用技巧
  9. linux学习——文件系统结构
  10. python做3d相册_Python立体相册影集制作教程 | 在电脑上怎么制作3D立体的相册
  11. BLE无线信号的调制方式
  12. Emacs键盘练习方法
  13. 红帽子linux命令界面,红帽子_Linux_命令全解
  14. php仿携程网站,仿携程网手机端
  15. 学了mysql用户权限我直接把管理员禁闭了
  16. jquery不起作用的原因
  17. eclipse jdt.core(一)——简介
  18. 程序员的6.1礼物—Cozmo机器人!
  19. 【Linux 内核】进程管理 - 进程优先级 ① ( 限期进程 | 实时进程 | 普通进程 | 进程优先级相关字段 )
  20. urllib.unquote()

热门文章

  1. 【老牌系统】雨林木风 win pe系统怎么进入
  2. 【竞赛篇-电商竞赛】浙江省电子商务竞赛参赛经验
  3. VBA ---- 单、多条件筛选
  4. UE4数字孪生材质(四)
  5. 华为宣布:免费培养2000名H5开发者!
  6. .NET 换肤软件 IrisSkin 2.0 破解版下载及多款皮肤下载
  7. 生命是一个长期而持续的积累过程
  8. 里程碑 | WeDataSphere 一站式开源大数据平台套件全面升级
  9. Windows环境下实现设计模式——模板方法模式(JAVA版)
  10. java代码 cad转换为Geojson