0

我正在尝试找出启用cubin的正确方法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_acceleratorscupy.set_reduction_accelerators属于私有 API ( cupy.core._accelerator),这意味着我不应该调用它们。

  • cub启用in的正确方法是cupy什么?

我正在使用Python 3.7.6cupy 8.1.0

谢谢

4

1 回答 1

2

记录在案的方法是通过 CUPY_ACCELERATORS env var。导出 CUPY_ACCELERATORS=cub。docs.cupy.dev/en/stable/reference/environment.html 如您所见,set_*_accelerators 主要是我们用于测试的私有 API。他们返回 1 的原因是我们使用了 Enum,我同意这令人困惑……也许我们可以更改它:)。

于 2020-11-15T14:45:33.273 回答