【问题标题】:convert cupy to numpy is very slow将 cupy 转换为 numpy 非常慢
【发布时间】:2020-01-03 12:40:57
【问题描述】:

条件

  • CuPy 版本 7.0.0
  • 操作系统/平台 Ubuntu 18.04
  • CUDA 版本 10.1

重现代码

import cupy as np
import time
size = 60000000
tag = np.zeros(size)
#np.random.shuffle(tag)
value = np.random.random(size)
starttime = time.perf_counter()
for i in range(100):
    tag +=(value> 0.3)*100
print (time.perf_counter() - starttime)
starttime = time.perf_counter()
cpu_value = np.asnumpy(value)
print (time.perf_counter() - starttime)
  • 将 cupy 转换为 numpy 非常慢 结果是

    0.02095769099832978 6.170492547998947

【问题讨论】:

    标签: numpy cupy


    【解决方案1】:

    从 CuPy 转换为 NumPy 需要从 GPU 内存复制到 CPU。 此操作很昂贵,并且预计会很慢。理想情况下,您希望数据尽可能长时间地保存在 GPU 中,并且仅在绝对必要时才将其移至 CPU。

    【讨论】:

      猜你喜欢
      • 2018-12-13
      • 2017-09-22
      • 1970-01-01
      • 2015-10-15
      • 2016-01-18
      • 2019-02-15
      • 2019-02-26
      • 2021-05-11
      • 2019-12-14
      相关资源
      最近更新 更多