我正在设法找出在cupy中启用cupy的正确方法,但到目前为止没有成功。我查了一下文件,什么也找不到。现在,我启用了这样的cub:
import cupy.core._accelerator as _acc
_acc.set_routine_accelerators(['cub'])
_acc.set_reduction_accelerators(['cub'])在执行上述代码之前,将禁用cub。我通过跑步证实这一点:
cupy.core.get_reduction_accelerators()
cupy.core.get_routine_accelerators()返回空列表([])。在第一个片段中运行代码之后,上面的函数返回[1] (不管这意味着什么)。此外,我可以注意到像cupy.nansum这样的函数存在着巨大的性能差异。
但是,您可以看到,函数cupy.set_routine_accelerators和cupy.set_reduction_accelerators属于私有API (cupy.core._accelerator),这意味着我不应该调用它们。
在cupy中启用cub的正确方法是什么?
我正在使用Python 3.7.6和cupy 8.1.0
谢谢
发布于 2020-11-15 14:45:33
文档化的方法是通过CUPY_ACCELERATORS env实现的。出口CUPY_ACCELERATORS=cub。正如您注意到的,docs.cupy.dev/en/stable/reference/environment.html主要是用于测试的私有API。他们返回1的原因是我们使用Enum,我同意这让人困惑.也许我们可以改变它:)。
https://stackoverflow.com/questions/64844167
复制相似问题