nvcc编译器选项
2017-06-07 10:42
691 查看
1.指定编译阶段
主要指定编译的阶段以及要编译的输入文件。
-cuda -cubin -fatbin -ptx -gpu -E
-c :最常使用,编译每个.c/.cc/.cpp/.cxx/.cu输入文件为object文件
-dc -dw -dlink -link
-dc编译选项可参考: https://devblogs.nvidia.com/parallelforall/separate-compilation-linking-cuda-device-code/
-rdc:
relocatable device code
参考CUDA C Programming Guide D.3.3.2
如使用cuda dynamic parallelism时,可编译程序:
nvcc -arch=sm_35 -I ../../common/inc/ -lcudadevrt -rdc=true cdpSimpleQuicksort.cu -o cdpSimpleQuicksort
lcudadevrt指链接static cuda library: device runtime library
-lib :编译所有的输入文件为object文件,并且把结果添加到指定的library输出文件
-run
2.文件和路径配置
-o :指定输出文件的位置和名称
-include :指定预处理和编译时预先需要包含的头文件
-l :指定链接时需要的库文件
-D :指定预处理和编译时需要的宏
-U :取消宏定义
-I :指定包含文件的搜索路径
-isystem :指定系统包含的引用文件的搜索路径
-L :指定库文件的搜索路径
-odir :指定输出文件的目录
-ccbin :指定host编译器所在路径
-cudart :指定CUDA runtime library使用类型(none,shared,static),默认为static
-ldir :指定包含libdevice库文件目录
3.指定编译器、连接器的行为
-pg
-g :产生可调式代码,调试模式下必须的
-G :产生可调式的设备代码
-lineinfo :为设备代码产生行number信息
-O :产生优化代码 ,包括O0,O1,O2,O3,用于产生不同的指令集
-ftemplate-backtrace-limit -shared -x -std -nohdinitlist -nohdmoveforward -expt-relaxed-constexpr
-m :指定平台结构32 vs 64
4.编译工具内部选项
-Xcompiler -Xlinker -Xarchive -Xptxas -Xnvlink
-Xptxas -v:显示代码生成的统计结果
-Xptxas -dlcm=cg:关闭L1cache
-Xptxas -dlcm=ca:将L1cache增加到48KB(默认为16KB,和shared memory一共64KB)
5.编译驱动引导选项
-noprof -dryrun
-v :列出nvcc产生的编译命令,不影响其执行
-keep :保留各步骤产生的中间文件,用于调试
-keep-dir -save-temps
-clean :逆转nvcc的行为
-run-args -idp -ddp -dp -MT -nodlink
6.CUDA编译方式选项
-default-stream
7.驾驭GPU代码生成选项
-arch :指定GPU架构
-code -gencode -rdc -e
-maxrregcount :指定GPU函数可使用的最大寄存器数量
-use_fast_math -ftz -prec-div -prec-sqrt -fmad
8.ptxas选项
-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
主要指定编译的阶段以及要编译的输入文件。
-cuda -cubin -fatbin -ptx -gpu -E
-c :最常使用,编译每个.c/.cc/.cpp/.cxx/.cu输入文件为object文件
-dc -dw -dlink -link
-dc编译选项可参考: https://devblogs.nvidia.com/parallelforall/separate-compilation-linking-cuda-device-code/
-rdc:
relocatable device code
参考CUDA C Programming Guide D.3.3.2
如使用cuda dynamic parallelism时,可编译程序:
nvcc -arch=sm_35 -I ../../common/inc/ -lcudadevrt -rdc=true cdpSimpleQuicksort.cu -o cdpSimpleQuicksort
lcudadevrt指链接static cuda library: device runtime library
-lib :编译所有的输入文件为object文件,并且把结果添加到指定的library输出文件
-run
2.文件和路径配置
-o :指定输出文件的位置和名称
-include :指定预处理和编译时预先需要包含的头文件
-l :指定链接时需要的库文件
-D :指定预处理和编译时需要的宏
-U :取消宏定义
-I :指定包含文件的搜索路径
-isystem :指定系统包含的引用文件的搜索路径
-L :指定库文件的搜索路径
-odir :指定输出文件的目录
-ccbin :指定host编译器所在路径
-cudart :指定CUDA runtime library使用类型(none,shared,static),默认为static
-ldir :指定包含libdevice库文件目录
3.指定编译器、连接器的行为
-pg
-g :产生可调式代码,调试模式下必须的
-G :产生可调式的设备代码
-lineinfo :为设备代码产生行number信息
-O :产生优化代码 ,包括O0,O1,O2,O3,用于产生不同的指令集
-ftemplate-backtrace-limit -shared -x -std -nohdinitlist -nohdmoveforward -expt-relaxed-constexpr
-m :指定平台结构32 vs 64
4.编译工具内部选项
-Xcompiler -Xlinker -Xarchive -Xptxas -Xnvlink
-Xptxas -v:显示代码生成的统计结果
-Xptxas -dlcm=cg:关闭L1cache
-Xptxas -dlcm=ca:将L1cache增加到48KB(默认为16KB,和shared memory一共64KB)
5.编译驱动引导选项
-noprof -dryrun
-v :列出nvcc产生的编译命令,不影响其执行
-keep :保留各步骤产生的中间文件,用于调试
-keep-dir -save-temps
-clean :逆转nvcc的行为
-run-args -idp -ddp -dp -MT -nodlink
6.CUDA编译方式选项
-default-stream
7.驾驭GPU代码生成选项
-arch :指定GPU架构
-code -gencode -rdc -e
-maxrregcount :指定GPU函数可使用的最大寄存器数量
-use_fast_math -ftz -prec-div -prec-sqrt -fmad
8.ptxas选项
-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
相关文章推荐
- nvcc编译器选项及配置
- CUDA中NVCC的编译器选项
- Matlab mex编译选项文件的位置与编译器器设置
- C# 编译器选项 /platform(指定输出平台)32位程序运行到x64平台的问题
- Visual C++ 编译器选项
- Visual C++ 编译器选项 /MD、/ML、/MT、/LD
- 微软C/C++ 编译器选项参考
- Visual C++编译器常用选项设置总结
- 使用Intel编译器(1)并行化(3)自动并行化相关的选项和总结
- 一个编译器选项的问题/GZ区分大小写
- 微软C/C++ 编译器选项参考
- 编译器的编译选项解析
- #pragma pack 结构体对齐编译器选项
- 如何在VC++编译器中进行编译选项配置
- gcc编译器 命令常用选项及工作流程 截图
- 按类别列出的编译器选项Visual Studio 2010
- nvcc gcc g++混合编译器编程
- Visual C++编译器常用选项设置
- C# 编译器选项 /platform(指定输出平台)32位程序运行到x64平台的问题
- 微软 C# 编译器选项