1. CUDA安裝
在Linux系統(tǒng)上安裝CUDA toolkit需要下載兩個包:驅(qū)動和toolkit
cuda_7.0.28_linux.run
NVIDIA-Linux-x86_64-352.41.run
1.1 安裝toolkit
toolkit包中提供多項功能,有顯卡驅(qū)動、toolkit和samples;安裝過程為:
退出X server:在控制終端執(zhí)行命令:init 3;
啟動安裝包:執(zhí)行命令:sh cuda_7.0.28_linux.run;
跳出安裝須知:執(zhí)行命令:strl + C,并輸入accept;
不進(jìn)行顯卡驅(qū)動安裝:在第一個選項中輸入命令:N
其它選項:其它選項都選擇Y或者直接回車。
添加環(huán)境變量:在~/.bashrc文件中添加如下兩行
PATH=/usr/local/cuda-7.0/bin:$PATH
LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
參考文獻(xiàn):CUDA_Getting_Started_Linux.pdf
1.2 安裝顯卡驅(qū)動
本來CUDA
toolkit中自帶顯卡驅(qū)動,但是由于自動安裝顯卡驅(qū)動后,導(dǎo)致Linux系統(tǒng)圖形界面無法啟動,所以需要手動下載和安裝顯卡驅(qū)動,其安裝過程為:
退出圖形界面:運(yùn)行命令為:init 3;
啟動:啟動驅(qū)動文件,命令為:sh NVIDIA-Linux-x86_64-352.41.run -a;
配置:安裝完成后,會提示是否運(yùn)行nvidia顯卡工具來自動更新xorg.conf文件,選擇“Yes”;
返回圖形界面:在顯卡安裝完成后,返回圖形界面,命令為:startx;
備注:
若出現(xiàn)安裝顯卡驅(qū)動后,圖形界面無法啟動,則按如下方法解決:
進(jìn)入命令行界面:ctrl+Alt+F2.
刪除配置文件:/etc/X11/xorg.conf
參考文獻(xiàn):Linux下,手動安裝NVIDIA顯卡官方驅(qū)動
2. 調(diào)式工具:CUDA GDB
對于CUDA的調(diào)式工具GDB,需要使用GPU的設(shè)備。但是當(dāng)在圖形界面時,GPU設(shè)備已經(jīng)被占用著,所以若需要使用CUDA GDB需要退出X server,進(jìn)入init 3。其使用過程為:
退出X server:在終端執(zhí)行命令:init 3
-
編譯:若源程序為:pmandel.cu,編譯命令可以為:nvcc -g -G pmandel.cu -o
pamandel;若是有makefile文件,則也可執(zhí)行命令:make。如圖 1所示。
圖 1.png -
啟動GDB:執(zhí)行命令:cuda-gdb pmandel;如圖 2所示。
圖 2.png 設(shè)置斷點:可以在任何函數(shù)或行設(shè)置斷點,如執(zhí)行命令:break
main;或break 21;開始調(diào)式:執(zhí)行命令為:run;
-
繼續(xù)執(zhí)行:可以執(zhí)行命令:continue,或是:C;如圖 3所示。
圖 3.png 單步執(zhí)行:命令為:next,或是:n
-
顯示信息:可以執(zhí)行命令:info cuda
Commands,其中的Commands可以是threads、blocks、warps和contexts等命令,其它信息可參考《cuda-gdb.pdf》。如圖
4所示。
圖 4.png
參考文獻(xiàn):cuda-gdb.pdf
3. 分析工具:CUDA Profile
======================
3.1 Visual Profiler:圖形化
Visual Profiler是NVIDIA提供的圖形化分析工具,其在成功安裝CUDA toolkit后,就能夠使用。通過Profiler能夠?qū)UDA
應(yīng)用的CPU和GPU的時間節(jié)點進(jìn)行分析,并能夠調(diào)優(yōu)CUDA應(yīng)用的性能。Visual Profiler的簡單使用方法如下所示:
-
啟動:在控制終端輸入命令:nvvp;如圖 5所示的啟動后界面。
圖 5.png -
新建session:其創(chuàng)建入口為:FileNew Session,如圖
6所示是新建Session對話框,在該對話框中的File輸入框中輸入需被分析的可執(zhí)行文件。
圖 6.png -
分析結(jié)果:在新建Session對話框中輸入相應(yīng)的可執(zhí)行文件后,就能產(chǎn)生分析結(jié)果,如圖7所示。
圖 7.png
3.2 nvprof Profiler:命令行
通過nvprof可以以命令行的形式分析和調(diào)優(yōu)CUDA應(yīng)用程序。nvprof的使用形式是:
nvprof [options] [CUDA-application] [application-arguments]
- summary模型
這是nvprof的默認(rèn)模型,在這個模型中只簡單輸出核函數(shù)和CUDA內(nèi)存復(fù)制性能。如對于需要被測試的可執(zhí)行文件boxFilterNPP,可直接執(zhí)行命令:nvprof boxFilterNPP。如圖 8所示的結(jié)果。
圖 8.png
- GPU-Trace和API-Trace模型
這個模型能夠以時間軸順序提供所有在GPU發(fā)生的活動點,每個核函數(shù)的執(zhí)行或是復(fù)制/賦值都能夠詳細(xì)的顯示。如圖9所示。
圖 9.png
- Event/metric Summary模型
通過這個模型能夠在指定的NVIDIA GPU上顯示所有可用的Event/metric,
- Event/metric Trace Mode
通過這個模型能夠顯示每個核函數(shù)的event和metric值。如圖 11所示。
參考文獻(xiàn):CUDA_Profiler_Users_Guide.pdf
4. 集成工具:nsight Eclipse
========================
4.1 CUDA編輯器
Linux中也有CUDA的集成開發(fā)工具nsight。其中在CUDA
toolkit中自帶nsight,所以當(dāng)成功安裝toolkit后,就可以啟動nsight。其使用過程為:
-
啟動:在終端中輸入:nsight;如圖 12所示是啟動后的nsight界面。
圖 12.png -
創(chuàng)建項目:在nsight界面中:FileProjectCUDA c/c++
projectExecutable其中一項,如圖 13所示的Executable選項。
圖 13.png 編譯:創(chuàng)建可執(zhí)行文件:右擊項目Build Project; 如圖 14所示。
- 執(zhí)行:右擊項目Run AsCocal c/c++ Application;如圖 15所示。
參考文獻(xiàn):nsight_Eclipse_Edition_getting_started.pdf;
4.2 CUDA調(diào)試器
nsight也集成了gdb,通過nsight可用非常方便了對cuda程序進(jìn)行調(diào)式。其中若需要進(jìn)入Debug模型需要退出X
server,進(jìn)入init 3。當(dāng)單擊Debug按鈕時,就會自動進(jìn)入Debug Perpspective, 如圖
16所示。其中當(dāng)進(jìn)入Debug模式時,就會在main函數(shù)中暫停。其中在nsight的工具欄中有四個相關(guān)的調(diào)式按鈕:
Step Info:進(jìn)入函數(shù);
Step Over:單步執(zhí)行;
Step Return:退出函數(shù);
-
Resume:跳到下一斷點。
圖 16.png
4.3 CUDA性能分析器
nsight同時集成了Profiler的分析工具,當(dāng)打開一個項目后就能夠非常方便了進(jìn)行性能分析。其分析Perpspective與visual Profiler一樣,如圖 17所示。
5. nvml庫
======
5.1 安裝方式
運(yùn)行安裝完nvml庫后,
lib文件安裝路徑是:/usr/src/gdk/nvml
.h文件的安裝路徑是:/usr/include/nvidia/gdk/nvml.h
5.2 使用方式
- lib文件
將/usr/src/gdk/nvml/lib/目錄下的兩個文件復(fù)制到/usr/lib64,并覆蓋以前文件。若在項目中需要使用該庫,則需添加所以的lib路徑,如在nsight項目中按如圖 18所示進(jìn)行添加。
圖 18.png
- .h文件
若在項目中需要使用nvml庫,則只需在源程序中包含nvml.h文件,同時在環(huán)境中需要添加nvml.h文件所在的路徑,如圖19所示。