NVCC编译参数优化
当前已知对GPU计算性能影响较大的编译选项如表1所示,可在编译时添加。
编译选项 |
优化原理 |
---|---|
-gencode;arch=compute_xx,code=sm_xx |
指定对应GPU卡类型和架构,以获取更好的兼容性和性能,比如A100的典型配置为-gencode;arch=compute_80,code=sm_80。 |
--ftz=fase/true |
是否将极小值置为0,减少计算,默认false。 |
--prec-sqrt=true/false |
是否使用精确的平方根函数,默认true。 |
--prec-div=true/false |
是否使用精确的除法计算,默认true。 |
--fmad=ture/fasle |
是否使能乘加合并计算,默认true。 |
--use_fast_math |
是否开启快速计算模式,相当于--ftz=true --prec-div=false --prec-sqrt=false --fmad=true。 |
-O 0 1 2 3 4 |
代码优化级别,O0为不优化,O1到O4优化操作逐渐增多,建议O4。 |
-Xptxas -allow-expensive-optimizations |
用最大资源来实现优化。 |
-Xptxas -dlcm=ca/cg |
是否开启L1 cache,ca为开启,cg为关闭,默认ca。 |
父主题: GPU编译参数优化