我可以从 c++ 调用用 cupy 代码编写的 cuda 代码吗?

Can I call cuda code written in cupy code from c++?

本文关键字:代码 cuda 我可以 c++ 调用 cupy      更新时间:2023-10-16

如果我有一个简单的采样 3D 点的形式

s = [[x1, y1, z1], [x2, y2, z2],[x3, y3, z3],[x4, y4, z4],.....]

在 Cupy 中实现的体素函数中,我可以从 C++ 代码调用该函数吗?我们有 c++ 代码调用张量流图并在汽车中执行。我可以将我的cupy代码编译为c ++二进制并从c ++代码中调用它吗?

我不熟悉CuPy,但看看Python C API(https://docs.python.org/3/c-api/(。 这允许您在 C 和 C++ 中运行 Python 函数。

这里有一个例子,在pythonfile.py中运行一个名为functionname的函数(尚未对此进行测试,但应该没问题(。

PyObject* pyModuleStr = PyString_FromString((char*)"pythonfile");
PyObject* pyModule = PyImport_Import(pyModuleStr);
PyObject* pyFunction = PyObject_GetAttrString(pyModule,(char*)"functionname");
PyObject_CallObject(pyFunction);

也可以提取函数的返回值,并添加参数。

希望这有帮助!

8(

编辑: 这里有一个StackOverflow帖子,可能会有所帮助(从C/C++调用python方法,并提取其返回值(。