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

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...