Cuda
確定Gpu是那一張且是否支援Cuda
lspci | grep -i nvidia
到 http://developer.nvidia.com/cuda-gpus 驗證Gpu是否有支援Cuda
確定已安裝Gcc
gcc --version
安裝對應的kernels header
sudo apt-get install linux-headers-$(uname -r)
下載CUDA
從 https://developer.nvidia.com/cuda-downloads,下載對應版本的cuda安裝包
依照Cuda指示,執行以下命令,即可安裝Cuda
sudo dpkg -i cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
*安裝完成,須重新啟動電腦
安裝cuDNN
下載cuDNN,從 https://developer.nvidia.com/rdp/cudnn-download,註冊,然後下載
複製cuDNN library到cuda
tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
cd cuda
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
設定環境變數
sudo gedit /etc/profile
加入以下兩句
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
*因為cuda會自動產生捷徑,所以不需要指定到cuda-8.0
保存後,使環境變數立即生效
source /etc/profile
進入/usr/local/cuda/samples,build samples
sudo make all -j4
編譯完成後,進入 samples/bin/x86_64/linux/release,運行deviceQuery
./deviceQuery
若沒有問題的話,最後會顯示Result = PASS
Theano
首先安裝相依的套件
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
安裝BLAS
sudo apt-get install libblas-dev liblapack-dev
安裝theano
sudo pip install Theano
測試GPU
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 1000
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
print('Used the cpu')
else:
print('Used the gpu')
執行GPU測試程式
THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python test.py
最後顯示Used the gpu,就是成功了
參考連結
Caffe學習筆記2--Ubuntu 14.04 64bit 安裝Caffe(GPU版本)
Installing Theano
Using the GPU