首页 > 解决方案 > 如何使用 `cupy` 库对标量进行快速按位运算

问题描述

我正在 GPU 上构建强化学习模型,所以我使用的是具有Cupy后端 的chainer 。除了它在 GPU 上运行之外,它 的目的是复制。cupynumpy

我之前问过这个问题,关于如何对 in 中的标量进行快速位移numpy,答案很简单:我需要对实际numpy.uint64对象而不是对象进行位移numpy.array。如果我可以将我的位移方法转移到cupy以获得相同的加速,那就太好了。

但是,cupy文档要求标量在 GPU 而不是 CPU 上(来源)。这意味着要么我...

  1. 将我的标量表示为一个数组,这在上面的链接问题中提出了我的原始问题,或者
  2. 将我的标量整数推送到 CPU,进行计算,然后将其推送回 GPU,这也很慢。

如果我想对一个标量值进行数十万次位移,虽然这将花费不到一秒的时间numpy,但这需要很长时间cupy如何加快标量的位移cupy

标签: pythonnumpycupy

解决方案


推荐阅读