用 CuPy 將Numpy加速700倍?

“作為 Python 語(yǔ)言的一個(gè)擴(kuò)展程序庫(kù),Numpy 支持大量的維度數(shù)組與矩陣運(yùn)算,為 Python 社區(qū)帶來了很多幫助。借助于 Numpy,數(shù)據(jù)科學(xué)家、機(jī)器學(xué)習(xí)實(shí)踐者和統(tǒng)計(jì)學(xué)家能夠以一種簡(jiǎn)單高效的方式處理大量的矩陣數(shù)據(jù)。那么 Numpy 速度還能提升嗎?本文介紹了如何利用 CuPy 庫(kù)來加速 Numpy 運(yùn)算速度。
就其自身來說,Numpy 的速度已經(jīng)較 Python 有了很大的提升。當(dāng)你發(fā)現(xiàn) Python 代碼運(yùn)行較慢,尤其出現(xiàn)大量的 for-loops 循環(huán)時(shí),通??梢詫?shù)據(jù)處理移入 Numpy 并實(shí)現(xiàn)其向量化最高速度處理。

pip install cupy
i7–8700k CPU
1080 Ti GPU
32 GB of DDR4 3000MHz RAM
CUDA 9.0
import numpy as np
import cupy as cp
import time
### Numpy and CPU
s = time.time()
*x_cpu = np.ones((1000,1000,1000))*
e = time.time()
print(e - s)### CuPy and GPU
s = time.time()
*x_gpu = cp.ones((1000,1000,1000))*
e = time.time()
print(e - s)
### Numpy and CPU
s = time.time()
*x_cpu *= 5*
e = time.time()
print(e - s)### CuPy and GPU
s = time.time()
*x_gpu *= 5*
e = time.time()
print(e - s)
數(shù)組乘以 5
數(shù)組本身相乘
數(shù)組添加到其自身
### Numpy and CPU
s = time.time()
*x_cpu *= 5
x_cpu *= x_cpu
x_cpu += x_cpu*
e = time.time()
print(e - s)### CuPy and GPU
s = time.time()
*x_gpu *= 5
x_gpu *= x_gpu
x_gpu += x_gpu*
e = time.time()
print(e - s)

文章轉(zhuǎn)載:Python編程學(xué)習(xí)圈
(版權(quán)歸原作者所有,侵刪)
![]()

點(diǎn)擊下方“閱讀原文”查看更多
評(píng)論
圖片
表情
