nvcc编译器选项及配置
nvcc命令選項(xiàng):
選項(xiàng)命令有長(zhǎng)名和短名,通常我們使用是用短名,長(zhǎng)名主要用于描述。
1.指定編譯階段
主要指定編譯的階段以及要編譯的輸入文件。
-cuda -cubin -fatbin -ptx -gpu -E
-c :最常使用,編譯每個(gè).c/.cc/.cpp/.cxx/.cu輸入文件為object文件
-dc -dw -dlink -link
-lib :編譯所有的輸入文件為object文件,并且把結(jié)果添加到指定的library輸出文件
-run
2.文件和路徑配置
-o :指定輸出文件的位置和名稱
-include :指定預(yù)處理和編譯時(shí)預(yù)先需要包含的頭文件
-l :指定鏈接時(shí)需要的庫(kù)文件
-D :指定預(yù)處理和編譯時(shí)需要的宏
-U :取消宏定義
-I :指定包含文件的搜索路徑
-isystem :指定系統(tǒng)包含的引用文件的搜索路徑
-L :指定庫(kù)文件的搜索路徑
-odir :指定輸出文件的目錄
-ccbin :指定host編譯器所在路徑
-cudart :指定CUDA runtime library使用類型(none,shared,static),默認(rèn)為static
-ldir :指定包含libdevice庫(kù)文件目錄
3.指定編譯器、連接器的行為
-pg
-g :產(chǎn)生可調(diào)式代碼,調(diào)試模式下必須的
-G :產(chǎn)生可調(diào)式的設(shè)備代碼
-lineinfo :為設(shè)備代碼產(chǎn)生行number信息
-O :產(chǎn)生優(yōu)化代碼 ,包括O0,O1,O2,O3,用于產(chǎn)生不同的指令集
-ftemplate-backtrace-limit -shared -x -std -nohdinitlist -nohdmoveforward -expt-relaxed-constexpr
-m :指定平臺(tái)結(jié)構(gòu)32 vs 64
4.編譯工具內(nèi)部選項(xiàng)
-Xcompiler -Xlinker -Xarchive -Xptxas -Xnvlink
-Xptxas -v:顯示代碼生成的統(tǒng)計(jì)結(jié)果
-Xptxas -dlcm=cg:關(guān)閉L1cache
-Xptxas -dlcm=ca:將L1cache增加到48KB(默認(rèn)為16KB,和shared memory一共64KB)
5.編譯驅(qū)動(dòng)引導(dǎo)選項(xiàng)
-noprof -dryrun
-v :列出nvcc產(chǎn)生的編譯命令,不影響其執(zhí)行
-keep :保留各步驟產(chǎn)生的中間文件,用于調(diào)試
-keep-dir -save-temps
-clean :逆轉(zhuǎn)nvcc的行為
-run-args -idp -ddp -dp -MT -nodlink
6.CUDA編譯方式選項(xiàng)
-default-stream
7.駕馭GPU代碼生成選項(xiàng)
-arch :指定GPU架構(gòu)
-code -gencode -rdc -e
-maxrregcount :指定GPU函數(shù)可使用的最大寄存器數(shù)量
-use_fast_math -ftz -prec-div -prec-sqrt -fmad
8.ptxas選項(xiàng)
-allow-expensive-optimizations -c -dlcm -dscm -g -disable-optimizer-consts -e -fmad -flcm -fscm -lineinfo -arch -h -m -maxrregcount -O -optf -o -preserve-relocs -sp-bound-check -v -V -Werror -warn-double-usage -warn-spills
總結(jié)
以上是生活随笔為你收集整理的nvcc编译器选项及配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑没有声音怎么办如何让电脑没有声音
- 下一篇: mock模拟数据的使用方法