技术背景
在上一篇文章中介绍过如何实现本地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库中的函数。
解决方案
$ 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] 举报,一经查实,本站将立刻删除。