我试图在CUDA内核中使用一些拉帕克函数来求解小型线性方程组。我有一个主源文件,其中包含我要调用的内核函数。在这个核函数中,我想调用LAPACKE函数
LAPACKE_dgesv()
,它在不同的源文件中定义。
在我的主源文件中,我包含了头文件
lapacke.h
其中包含
LAPACKE_dgesv()
.此外,我还编辑了
__device__
函数声明
LAPACKE_dgesv()
.
LAPACKE_dgesv()
include_dirs
Python代码中SourceModule调用的参数。但是,当我运行代码时,会出现以下错误:
ptxas fatal : Unresolved extern function 'LAPACKE_dgesv'
我的猜测是,包含
未编译。
有没有办法让PyCuda编译包含设备代码的多个源文件?似乎PyCuda需要一种方法来运行CUDA编译器
--relocatable-device-code=true