我正在尝试使用 CUDA 增强一个小型 C++ 项目。我的项目正在使用自定义库的类和函数Matrix3d, Vector3d, Plane2d
等。它们主要是几何对象。
当我尝试在设备中使用我的代码(__host__ __device__
函数或内核)时,所有库函数/对象都被视为主机代码,例如我收到多个警告和错误error: identifier "Plane3d::~Plane3d" is undefined in device code
有没有办法在设备上使用我的图书馆?它是如何完成的?我没有 CUDA 和 C++ 方面的经验(我只使用 CUDA 和没有类的简单 C 代码)所以我不太了解这个策略。
有没有办法避免更改库源代码?可以更改库的代码,但如果我能避免它会更好。
非常感谢。