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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值