'cicc' compilation error and debug flag

When you file a bug with NVIDIA. the first thing that needs to happen is for someone at NVIDIA to (reliably) reproduce the issue internally. That is why including short self-contained code for reproduction will significantly speed up progressing the issue to the analysis phase. If repro requires setting up a complex software environment, expect to iterate with the folks at NVIDIA for several rounds, as successful repro on the first try is unlikely in my experience.

Got it, thanks for the tip

We also get the same error [a] with cuda 12.1.1 (gcc 12.2.1) on Almalinux 8. The source code is available here cmssw/testEigenGPU.cu at master · cms-sw/cmssw · GitHub . It works fine with Cuda 11.5.2 + gcc 11.3 but fails for cuda 12.1.1. One should be able to reproduce it using the attached tar file and running [b].

Any idea why it is failing for cuda 12 and works for cuda 11.5.2?


nvcc error   : 'cicc' died due to signal 11 (Invalid memory reference)


tar -xzvf testEigenGPU.tar.gz
cd testEigenGPU
nvvm/bin/cicc --c++17 --gnu_version=120201 --diag_suppress 20014 --display_error_number --orig_src_file_name "/build/muz/del/CMSSW_13_2_X_2023-05-20-1100/src/RecoTracker/PixelTrackFitting/test/testEigenGPU.cu" --orig_src_path_name "/build/muz/del/CMSSW_13_2_X_2023-05-20-1100/src/RecoTracker/PixelTrackFitting/test/testEigenGPU.cu" --allow_managed --extended-lambda --relaxed_constexpr  --device-c  --diag_suppress=esa_on_defaulted_function_ignored  -arch compute_75 -show-src -m64 --no-version-ident -ftz=0 -prec_div=1 -prec_sqrt=1 -fmad=1 --include_file_name "testEigenGPU.fatbin.c" -generate-line-info -tused --module_id_file_name "testEigenGPU.module_id" --gen_c_file_name "testEigenGPU.cudafe1.c" --stub_file_name "testEigenGPU.cudafe1.stub.c" --gen_device_file_name "testEigenGPU.cudafe1.gpu"  "testEigenGPU.cpp1.ii" -o "testEigenGPU.ptx"

you may wish to file a bug.

Will do…

By the way, removing the -show-src flag from the cicc command line (or --source-in-ptx from the nvcc command line) the compilation seems to complete.

Also, processing the same input files with cicc from CUDA 12.0 does work.