解决bug: .cpython-37m-x86_64-linux-gnu.so: undefined symbol:

时间:2023年1月23日

一. 问题

用python下pytorch编写cuda算子时,在执行setup.py时,报错:

.cpython-37m-x86_64-linux-gnu.so: undefined symbol: 后面是一段乱码

二.解决方法一

setup.py中,setup()函数的ext_modules参数中的sources参数中,用到的文件要包含全。


setup(name='',version='',author='',packages=find_packages(),ext_modules=CUDAExtension(name='',# 就是这个source参数,包含的文件要写全,包含.cpp和.cu文件即可,.h文件不用加。source=['function_cpu.cpp','function_cuda.cu','vision.cpp'],define_macros=define_macros,extra_compile_args={'cxx': [],'nvcc': ["-DCUDA_HAS_FP16=1",'-D__CUDA_NO_HALF_OPERATORS__','-D__CUDA_NO_HALF_CONVERSIONS__','-D__CUDA_NO_HALF2_OPERATORS__',])
)

三.解决方法二

使用PYBIND11_MODULE(TORCH_EXTENSION_NAME, m)粘合函数的时候,不能将多个不同函数接口写在同一个PYBIND11_MODULE()中。这一点我也不是太理解,做个记录,供以后思考。下面的例子是错误的示范,如果像下面这样写,会报错

#include "fucntion1.h"
#include "function2.h"PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {m.def("function1", &function1, "1111");m.def("function2", &function2, "2222");
}

解决方法:2个算子的PYBIND11_MODULE()分开写,各自写在各自的函数中。

PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {m.def("function1", &function1, "1111");}写在fucntion1.h中PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {m.def("function2", &function2, "2222");}写在function2.h中

解决bug: .cpython-37m-x86_64-linux-gnu.so: undefined symbol:相关推荐

  1. 成功解决Windows10环境下运行Linux系统下的.sh文件

    成功解决Windows10环境下运行Linux系统下的.sh文件 目录 解决问题 解决方法 解决问题 Windows10环境下运行Linux系统下的.sh文件 解决方法 .sh是shell scrip ...

  2. 解决Windows下Arm下Linux下Qt4程序的中文乱码问题

    解决Windows下Arm下Linux下Qt4程序的中文乱码问题 ################################################################### ...

  3. python3.7怎么设置中文_解决 Bug · Python3.7.3官方文档 简体中文 · 看云

    ### 导航 - [索引](genindex.xhtml "总目录") - [模块](py-modindex.xhtml "Python 模块索引") | - ...

  4. 这些解决 Bug 的套路,你都会了不?

    最近整理了我原创的 140 篇编程经验和技术文章,欢迎大家阅读,一起成长!指路:https://t.1yb.co/ARnD 大家好,我是鱼皮. 学编程的过程中,我们会遇到各式各样的 Bug,也常常因为 ...

  5. 解决CentOS6.x或RedHat Linux 6.x版本不能通过System eth0以固定IP访问外网的问题

    解决CentOS6.x或RedHat Linux 6.x版本不能通过System eth0以固定IP访问外网的问题 参考文章: (1)解决CentOS6.x或RedHat Linux 6.x版本不能通 ...

  6. 自我提升解决bug的能力(一)

    我和大家分享一个我的自我提升解决bug的能力(满满的干货).一名优秀的程序员会具备较强解决bug的能力.如果你觉得自己不够优秀,解决bug能力不足,学习处于被动的状态.那我要大声的告诉你请不要迷茫,陷 ...

  7. 解决bug问题,查找bug的方法

    想告别"写代码2分钟,找bug两小时"吗?,就必须掌握查找bug的能力 下面这些方法都是我这几年解决bug常用的 一.定位bug:如果在控制台中看不出bug,可以使用以下方法帮助查 ...

  8. 解决tplink wn726 无线网卡在linux下不能使用的问题

    解决tplink wn726 无线网卡在linux下不能使用的问题 网上找了一堆教程,都不能使 tp-link wn726 无线网卡在Linux下启动,终极解决方案如下 首先确定你linux内核 un ...

  9. 程序猿解决BUG之总结

    今天看到一遍博文(老程序员解Bug的通用办法),提到程序猿解决BUG的思路和方法,结合自己的经验总结一些:对待BUG,广大程序猿态度不同,解决方法也不同,各人有各人的法宝,但总结一下,希望对新入行的同 ...

最新文章

  1. SAP PM 入门系列 - IL03显示Function Location主数据
  2. 怎么在CSDN中写微信公众号推文?
  3. c语言位段sizeof,C语言位段的介绍
  4. xml 属性value换行显示_python 标准库之xml.etree.ElementTree
  5. .netcore 分布式事务CAP2.6之控制台使用
  6. 音乐在线播放Demo
  7. Python教学视频(一)Python基础环境的安装
  8. 2021《考研数学接力题典1800》勘误表(附学霸高分笔记)
  9. 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
  10. Ping值和带宽之间关系
  11. Android性能优化--IO 优化( IO基本知识:应用程序、文件系统和磁盘,三种IO方式及适用场景,多线程阻塞IO和NIO)
  12. 全景管家解析高清全景图,支持720yun、AirPano、酷家乐
  13. 知乎上关于电子商务话题的精彩问答
  14. 微积分手机版与法国布尔巴基学派
  15. 金华市中级工程师职称证书用途
  16. carsim与simulink联合仿真 eps+sbw+lka 动力学车辆模型
  17. 计算机实战项目之 论文+辩论PPT+源码等]精品微信小程序ssm校友录网站+后台管理系统|前后分离VUE
  18. RecyclerView 初体验
  19. Splashtop_Wired_XDisplay将手机或平板扩展为你的副屏
  20. 古诗词成语故事权重站打造网站模板

热门文章

  1. 齐二TK6916/20/26/32系列数控落地铣镗床简介3
  2. CAD有关建筑、室内设计等方面的基础步骤流程
  3. 10个咖啡的事实 不看不知道一看吓一跳
  4. 使用UltraISO制作U盘启动盘完整教程
  5. 著名全球最大同性交友社区网站
  6. 高通 MSM8K GPT异常导致无法开机问题分析
  7. 解决hbase RegionServer频繁宕机的一些办法
  8. 高级计算机网络-结课
  9. c语言 数组的抽奖小游戏
  10. 华人工程师盗窃苹果商业机密,后果有多严重?