NVIDIA
CuPy
PythonでGPUを使って高速数値計算を行うオープンソースライブラリ。
インストール
CUDAをインストールしたOS上にインストールすること。
WSL上のUbuntuにインストールした場合は、WSL上のUbuntuにインストール。
$ conda install conda-forge::cupyテスト
5000×5000行列の積
import time
import numpy as np
import cupy as cp
# CPU
start_time = time.time()
a = np.random.rand(5000, 5000)
b = np.random.rand(5000, 5000)
result = np.dot(a, b)
end_time = time.time()
print(f"NumPy Time: {end_time - start_time} seconds")
# GPU
start_time = time.time()
a = cp.random.rand(5000, 5000)
b = cp.random.rand(5000, 5000)
result = cp.dot(a, b)
end_time = time.time()
print(f"CuPy Time: {end_time - start_time} seconds")測定結果(sec)
| NumPy Time | CuPy Time | |
| 1回目 | 1.0596427917480469 | 0.33786654472351074 |
| 2回目 | 1.069901466369629 | 0.32462143898010254 |
| 3回目 | 1.1076390743255615 | 0.3486003875732422 |
| 平均 | ① 1.07906111081441 | ② 0.337029457092285 |
| ① / ② | 3.20 |
今回の実験結果では、CPUと比較してGPUの方が3.2倍速い。
CPU: AMD CPU Ryzen 7 7700 3.8GHz 8コア/16スレッド
GPU: MSI GeForce RTX 4060