【问题标题】:How to disable or remove numba and cuda from python project?如何从 python 项目中禁用或删除 numba 和 cuda?
【发布时间】:2019-04-08 10:48:04
【问题描述】:

我已经克隆了一个“PointPillars”存储库,仅使用点云作为输入进行 3D 检测。但是当我开始运行它时,我注意到它使用 cuda 和 numba。有了关于这两者的任何先验知识,我问是否有任何方法可以删除或禁用 numba 和 cuda。我想在本地服务器上仅使用 CPU 运行它,所以我希望您的建议能够解决。

【问题讨论】:

  • 你不能只是“删除代码”并神奇地让它在不同的硬件上工作!!!如果代码使用 CUDA,则需要 NVIDIA GPU。没有办法删除代码将添加功能,在这种情况下,CPU代码。
  • CUDA/NVCC 在编译代码时可以选择使用 GPU 模拟器执行此操作,更多信息请参见 this SO thread
  • GPU 仿真不再受支持。

标签: cuda numba nvcc numba-pro


【解决方案1】:

实际代码在这里很重要。

如果使用target=cuda 参数使用vectorizeguvectorize,那么“删除”CUDA 应该是微不足道的。只需删除目标参数。

但是,如果使用 @cuda.jit 装饰器,或在主机和设备之间显式复制数据,则将涉及其他代码重构。在这种情况下,这里没有简单的答案,代码必须通过重构或移植转换为替代的串行或并行实现。

【讨论】:

    猜你喜欢
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 2020-02-23
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多