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