numpy使用GPU加速

2021-09-05 08:45:58 字數 1188 閱讀 1894

在跑完mnist的knn分類後,跑的挺慢,突然想有沒有gpu的numpy的呢,上網查了查,才知道原生的numpy沒有實現(不應該啊。。。),結構查到了minpy,花了10分鐘左右配好了環境,寫個日誌記錄一下。

安裝minpy:

我的機器是ubuntu 16.04的,minpy需要cuda,cudnn,由於這倆我早就裝好了,就不說了。 minpy是基於mxnet進行運算的,所以需要安裝mxnet,官方鏈結新增鏈結描述

反正我用的最簡單的方式,沒從git原始碼安裝

sudo pip install mxnet-cu80  // 我cuda8.0的
(必須和cuda對應,第一次裝了9.0的了,就報錯了)

然後再

sudo pip install minpy
就ok了,是不是很easy(當然我們的easy是建立在大牛的肩膀上,感覺開發者們).

使用:

import  minpy.numpy as np
我使用我knn中的**測試,平均cpu:0.8s,gpu:0.4s,只提速了0.4s左右(因為涉及的矩陣運算少)。

如下,使用高維矩陣點乘連乘做測試

import numpy as np

import numpy.random as random

#import minpy.numpy as np

#import minpy.numpy.random as random

import time

a = random.rand(

3000

,2000

)b = random.rand(

2000

,4000

)c = random.rand(

4000

,3000

)begin = time.time(

)for i in

range

(100):

np.dot(np.dot(a,b)

,c)end = time.time(

)print

(end-begin)

提公升4倍左右,乙個200s,乙個50s左右。

(同時發現乙個問題列印時間和gpu呼叫應該不是同執行緒的,因為沒得到結果時間就列印出來了,手動計的時)

參考:minpy安裝手冊

使用GPU加速DSPSR

1 設定環境變數,加入packages sudo gedit etc profile 在下面新增cuda路徑,輸入 packages usr local cuda 10.1 儲存後,使用指令 source etc profile 2 執行dspsr configure cd dspsr config...

tensorflow使用GPU加速

測試faster rcnn時,cpu計算速度較慢,調整 改為gpu加速運算 將 with tf.session as sess 替換為 1 gpu options tf.gpuoptions per process gpu memory fraction 0.9 2 with tf.session ...

cupy利用GPU來加速你的numpy操作

numpy是python中常用的乙個矩陣運算庫,而且numpy的底層都是採用c實現的,所以執行效率和速度也是很快的,但numpy是利用cpu來進行矩陣運算的,如果遇到大資料的矩陣運算,你會發現numpy真的很慢。那有沒有什麼辦法來加速呢?想到大矩陣的運算肯定會想多使用gpu來計算,就讓我們來看看nu...