微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python报错symbol lookup error: xxx.so: undefined symbol: cufftxxx解决办法

技术背景

上一篇文章中介绍过如何实现本地MindSpore的CUDA算子,那么在算子编译和使用的过程中可能会出现一些小问题,这里介绍的是编译成功为so动态链接库之后,在python中调用提示找不到xxx函数/字符的报错。这里使用的编译指令为:

$ nvcc --shared -Xcompiler -fPIC -o xxx.so xxx.cu

编译后完整报错如下:

python3: symbol lookup error: xxx.so: undefined symbol: cufftExecR2C

原因分析

我们在这个cu文件调用了cufft的cufftExecR2C函数,但是在编译阶段未使用相关fft的编译配置,导致了编译后的so动态链接库无法识别到cufft库中的函数

解决方

在编译时加上-lcufft选项,问题解决

$ nvcc --shared -Xcompiler -fPIC -lcufft -o xxx.so xxx.cu

版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/cufft-issue.html

作者ID:DechinPhy

更多原著文章https://www.cnblogs.com/dechinphy/

请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐