【问题标题】:cython extensions using cuda使用 cuda 的 cython 扩展
【发布时间】:2014-06-04 22:08:46
【问题描述】:

我有一个作为 C++ 类的 conv net 实现。该类构建在生成 CUDA 代码的模板库 (mshadow) 之上,因此它采用头文件的形式。因此,它只能在使用 nvcc 编译的文件中使用。我现在正在尝试将这个类包装在 Python 中,以便更轻松地加载和保存参数、数据等。

如何使用 Cython 包装 C++ 类?我查看了npcuda-example,它演示了如何围绕 C++ 类编写包装 pyx 文件。不幸的是,在此示例中,pyx 文件编译为 cpp 文件。这对我不起作用,因为我需要在 pyx 文件中包含类头并使用 nvcc 编译它。

我相信我可以使用 npcuda-example 中的 setup.py,如果有某种方法可以强制包装器 pyx 文件编译为 cu 文件,以便在 distutils 尝试编译扩展时调用 nvcc。

有什么想法吗?

【问题讨论】:

    标签: cuda cython distutils nvcc


    【解决方案1】:

    在 npcuda-example 中,wrapper.pyx 将通过定义结合 *.cu

    cdef extern from "src/manager.hh"
    

    我猜这正是你想要的?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      相关资源
      最近更新 更多