我是使用 pycuda 的初学者,到目前为止,我已经从“Cuda by example”一书中学到了一些如何编写内核的基本知识,我的下一个任务是使用一个已经用 C++ 编写的类,里面的内核。如何将此 .h 文件导入 pycuda?我是否必须使用 boost python 来传输这个 .h 以便可以像 python 中的任何其他模块一样导入它?问题是我只需要内核中的这个特殊变量。此类用于计算导数,我将写几行代码,以便您了解它是如何构造的:
adoublecuda.h:
namespace adtl {
class adouble {
public:
// ctors
__device__ __host__ inline adouble();
__device__ __host__ inline adouble(const double v);
__device__ __host__ inline adouble(const adouble& a);
__device__ __host__ inline adouble operator - () const;
__device__ __host__ inline adouble operator + () const;
...ETC。
我在 C-CUDA 中使用这个类,只需输入 #include “adoublecuda.h”,现在我想在 PyCUDA 中包含同样的东西。我只在内核内部使用这个类(我不需要 main 内部的双变量)。那么我是否必须使用 boost python 才能将此头文件包含到 PyCuda 中?
任何建议将不胜感激,感谢您帮助我!