前提・実現したいこと
Pythonによる行列計算を高速で行いたいです。
行列数が多い計算をしたいので、
CPUで計算するNumpyではなく、GPUで計算するCupyを使用しています。
Cupyは以下のpipでインストールしました。
python
1pip install cupy-cuda110
発生している問題・エラーメッセージ
計算速度を比較するとNumpyよりCupyの方が遅い結果となりました。(Numpy:0.18秒 Cupy:1.12秒)
他のサイトでは、Cupyにすることで約100倍高速化できています。
積んでいるGPUのスペックによって差が生じることは理解していますが、
Cupyの方が遅いというのは他の要因によるものだと考えます。
該当のソースコード
python
1import numpy as np 2import cupy as cp 3import time 4 5n = 2000 6 7t1 = time.time() 8a = np.random.rand(n,n) 9b = np.random.rand(n,n) 10np.dot(a,b) 11t2 = time.time() 12a = cp.random.rand(n,n) 13b = cp.random.rand(n,n) 14cp.dot(a,b) 15t3 = time.time() 16print('np:',t2 - t1) 17print('cp:',t3 - t2)
試したこと
■NIDIA CUDA ツールキットのインストール
■NIDIA cuDNNのインストール
■環境変数の設定
【システム環境変数 Path】
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp
【システム環境変数 CUDA_PATH】
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
【システム環境変数 CUDA_PATH_V11_0】
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
【システム環境変数 CUDNN_PATH】
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
■タスクマネージャーで計算中にCUDAが動作していることを確認済み
補足情報(FW/ツールのバージョンなど)
■バージョン情報等
OS:Windows10
GPU:NVIDIA Quadro P520
Python:v3.9.0
Anaconda:v4.9.2
Cupy:v9.0.0
CUDA:v11.0
cuDNN:v8.0.5
回答1件
あなたの回答
tips
プレビュー