python - 如何使用 `cupy` 库对标量进行快速按位运算
问题描述
我正在 GPU 上构建强化学习模型,所以我使用的是具有Cupy后端 的chainer 。除了它在 GPU 上运行之外,它 的目的是复制。cupy
numpy
我之前问过这个问题,关于如何对 in 中的标量进行快速位移numpy
,答案很简单:我需要对实际numpy.uint64
对象而不是对象进行位移numpy.array
。如果我可以将我的位移方法转移到cupy
以获得相同的加速,那就太好了。
但是,cupy
文档要求标量在 GPU 而不是 CPU 上(来源)。这意味着要么我...
- 将我的标量表示为一个数组,这在上面的链接问题中提出了我的原始问题,或者
- 将我的标量整数推送到 CPU,进行计算,然后将其推送回 GPU,这也很慢。
如果我想对一个标量值进行数十万次位移,虽然这将花费不到一秒的时间numpy
,但这需要很长时间cupy
。 如何加快标量的位移cupy
?
解决方案
推荐阅读
- postgresql - PostgreSQL 仅在存在时重命名列
- angular - 在您按下编辑按钮之前,应阻止所有输入和下拉菜单(无法写入或选择选项)。为什么它不起作用?
- c++ - std::codecvt 的受保护析构函数
- hive - Hive 列-换行符
- android - Android 中的默认 Live WallpaperService 泄漏内存
- angular - 如何向角度表单组添加新的键和值?
- javascript - 使用 laravel rest api 在 react-native flatlist 中的 groupby
- c# - 正则表达式查找字符串模式
- python - 在类的实例中共享变量而不将它们添加为属性
- r - 如何将函数“unite”和“strsplit”或类似函数应用于数据框列表