The goal of this change set is to move the default compiler from hipcc to amdclang++. The most significant difference between hipcc and amdclang are the flags used when invoking the compiler wrapped by hipcc. We attempt to delineate those differences below by noting if a flag is defaulted (d), set manually (m) or unset (blank):
The goal of this change set is to move the default compiler from hipcc to amdclang++. The most significant difference between hipcc and amdclang are the flags used when invoking the compiler wrapped by hipcc. We attempt to delineate those differences below by noting if a flag is defaulted (d), set manually (m) or unset (blank):
-O3
O2
by default-x hip
-D__HIP_HCC_COMPAT_MODE__=1
-mrelax-all
-mframe-pointer=all
-mframe-pointer=none
-Wno-format-nonliteral
-fallow-half-arguments-and-returns
-mllvm -amdgpu-early-inline-all=true
-mllvm -amdgpu-function-calls=false
--genco
--cuda-device-only
genco
is passedTo reproduce one can do the following:
Configure the HostTestLibrary directory
Run the build
Remove DecisionTree test binaries, rebuild with verbosity and review the history for build command
Run the build command from above with
-v
The command above will output the detailed compilation commands and arguments used to determine differences in compilation with hipcc and amdclang++.