Implement disassembling library into assembly with source code (#1714)

- Add --dump-asm to install.sh dump assembly from RCCL library
Este commit está contenido en:
alex-breslow-amd
2025-09-23 10:11:32 -07:00
cometido por GitHub
padre c1e1f2faeb
commit 8d6e21285c
Se han modificado 2 ficheros con 30 adiciones y 1 borrados
+9 -1
Ver fichero
@@ -19,6 +19,7 @@ build_tests=false
build_verbose=false
clean_build=true
collective_trace=true
dump_asm=false
enable_code_coverage=false
enable_ninja=""
install_dependencies=false
@@ -52,6 +53,7 @@ function display_help()
echo " --enable_backtrace Build with custom backtrace support"
echo " --disable-colltrace Build without collective trace"
echo " --disable-msccl-kernel Build without MSCCL kernels"
echo " --dump-asm Disassemble code and dump assembly with inline code"
echo " --enable-mscclpp Build with MSCCL++ support"
echo " --enable-mscclpp-clip Build MSCCL++ with clip wrapper on bfloat16 and half addition routines"
echo " --disable-roctx Build without ROCTX logging"
@@ -84,7 +86,7 @@ function display_help()
# check if we have a modern version of getopt that can handle whitespace and long parameters
getopt -T
if [[ "$?" -eq 4 ]]; then
GETOPT_PARSE=$(getopt --name "${0}" --options cdfhij:lprt --longoptions address-sanitizer,dependencies,debug,enable-code-coverage,enable_backtrace,disable-colltrace,disable-msccl-kernel,enable-mscclpp,fast,help,install,jobs:,local_gpu_only,amdgpu_targets:,no_clean,npkit-enable,log-trace,openmp-test-enable,roctx-enable,package_build,prefix:,rm-legacy-include-dir,run_tests_all,run_tests_quick,static,tests_build,time-trace,force-reduce-pipeline,generate-sym-kernels,verbose -- "$@")
GETOPT_PARSE=$(getopt --name "${0}" --options cdfhij:lprt --longoptions address-sanitizer,dependencies,debug,dump-asm,enable-code-coverage,enable_backtrace,disable-colltrace,disable-msccl-kernel,enable-mscclpp,fast,help,install,jobs:,local_gpu_only,amdgpu_targets:,no_clean,npkit-enable,log-trace,openmp-test-enable,roctx-enable,package_build,prefix:,rm-legacy-include-dir,run_tests_all,run_tests_quick,static,tests_build,time-trace,force-reduce-pipeline,generate-sym-kernels,verbose -- "$@")
else
echo "Need a new version of getopt"
exit 1
@@ -106,6 +108,7 @@ while true; do
--enable_backtrace) build_bfd=true; shift ;;
--disable-colltrace) collective_trace=false; shift ;;
--disable-msccl-kernel) msccl_kernel_enabled=false; shift ;;
--dump-asm) dump_asm=true; shift ;;
--enable-mscclpp) mscclpp_enabled=true; shift ;;
--enable-mscclpp-clip) enable_mscclpp_clip=true; shift ;;
--disable-roctx) roctx_enabled=false; shift ;;
@@ -278,6 +281,11 @@ if [[ "${roctx_enabled}" == false ]]; then
cmake_common_options="${cmake_common_options} -DROCTX=OFF"
fi
# Dump ASM files from GPU compilation
if [[ "${dump_asm}" == true ]]; then
cmake_common_options="${cmake_common_options} -DDUMP_ASM=ON"
fi
# Enable OpenMP in unit tests
if [[ "${openmp_test_enabled}" == true ]]; then
cmake_common_options="${cmake_common_options} -DOPENMP_TESTS_ENABLED=ON"