CHIP-SPV / chipStar

chipStar is a tool for compiling and running HIP/CUDA on SPIR-V via OpenCL or Level Zero APIs.
Other
157 stars 27 forks source link

Compiler crash on Sunspot while building chipStar #865

Open pvelesko opened 1 month ago

pvelesko commented 1 month ago
Currently Loaded Modules:
  1) spack-pe-gcc/0.6.1-23.275.2   3) mpfr/4.2.0-w7v7yjv   5) gcc/12.2.0                        7) mpich-config/collective-tuning/1024    9) oneapi/release/2024.04.15.001  11) llvm/18.0
  2) gmp/6.2.1-pcxzkau             4) mpc/1.3.1-dfagrna    6) mpich/icc-all-pmix-gpu/20231026   8) intel_compute_runtime/release/775.20  10) cmake/3.27.7
[ 62%] Generating hipInfo
/home/pvelesko/chipStar/main/samples/hipInfo/hipInfo.cpp:146:5: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]
  146 |     hipGetDeviceCount(&deviceCnt);
      |     ^~~~~~~~~~~~~~~~~ ~~~~~~~~~~
/home/pvelesko/chipStar/main/samples/hipInfo/hipInfo.cpp:150:9: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]
  150 |         hipDeviceCanAccessPeer(&isPeer, i, deviceId);
      |         ^~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
/home/pvelesko/chipStar/main/samples/hipInfo/hipInfo.cpp:159:9: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]
  159 |         hipDeviceCanAccessPeer(&isPeer, i, deviceId);
      |         ^~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
/home/pvelesko/chipStar/main/samples/hipInfo/hipInfo.cpp:180:5: warning: ignoring return value of function declared with 'nodiscard' attribute [-Wunused-result]
  180 |     hipMemGetInfo(&free, &total);
      |     ^~~~~~~~~~~~~ ~~~~~~~~~~~~~
4 warnings generated when compiling for .
/opt/aurora/23.275.2/spack/gcc/0.6.1/install/linux-sles15-x86_64/gcc-12.2.0/gcc-12.2.0-jf4ov3v3scg7dvd76qhsuugl3jp42gfn/lib/gcc/x86_64-pc-linux-gnu/12.2.0/../../../../include/c++/12.2.0/optional:484: constexpr const _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() const [with _Tp = bool; _Dp = std::_Optional_base<bool, true, true>]: Assertion 'this->_M_is_engaged()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: /home/pvelesko/install/llvm/18.0/bin/opt /var/tmp/pbs.9004390.amn-0001/hipInfo-generic-b6c0b1-link-b7b9f4.bc -load-pass-plugin /home/pvelesko/chipStar/main/build/lib/libLLVMHipSpvPasses.so -passes=hip-post-link-passes -o /var/tmp/pbs.9004390.amn-0001/hipInfo-generic-b6c0b1-lower-2713dd.bc
 #0 0x0000000001dd789b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/pvelesko/install/llvm/18.0/bin/opt+0x1dd789b)
 #1 0x0000000001dd4ccb llvm::sys::RunSignalHandlers() (/home/pvelesko/install/llvm/18.0/bin/opt+0x1dd4ccb)
 #2 0x0000000001dd4df5 SignalHandler(int) Signals.cpp:0:0
 #3 0x0000153e7ca4b8c0 __restore_rt (/lib64/libpthread.so.0+0x168c0)
 #4 0x0000153e7bf73c6b raise (/lib64/libc.so.6+0x4ac6b)
 #5 0x0000153e7bf75305 abort (/lib64/libc.so.6+0x4c305)
 #6 0x0000153e7c363d8e (/opt/aurora/23.275.2/spack/gcc/0.6.1/install/linux-sles15-x86_64/gcc-12.2.0/gcc-12.2.0-jf4ov3v3scg7dvd76qhsuugl3jp42gfn/lib64/libstdc++.so.6+0xd8d8e)
 #7 0x0000000002db863f (anonymous namespace)::InlineCostCallAnalyzer::InlineCostCallAnalyzer(llvm::Function&, llvm::CallBase&, llvm::InlineParams const&, llvm::TargetTransformInfo const&, llvm::function_ref<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::BlockFrequencyInfo& (llvm::Function&)>, llvm::ProfileSummaryInfo*, llvm::OptimizationRemarkEmitter*, bool, bool) InlineCost.cpp:0:0
 #8 0x0000000002dc70a7 llvm::getInlineCost(llvm::CallBase&, llvm::Function*, llvm::InlineParams const&, llvm::TargetTransformInfo&, llvm::function_ref<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::TargetLibraryInfo const& (llvm::Function&)>, llvm::function_ref<llvm::BlockFrequencyInfo& (llvm::Function&)>, llvm::ProfileSummaryInfo*, llvm::OptimizationRemarkEmitter*) (/home/pvelesko/install/llvm/18.0/bin/opt+0x2dc70a7)
 #9 0x0000000002dc75de llvm::getInlineCost(llvm::CallBase&, llvm::InlineParams const&, llvm::TargetTransformInfo&, llvm::function_ref<llvm::AssumptionCache& (llvm::Function&)>, llvm::function_ref<llvm::TargetLibraryInfo const& (llvm::Function&)>, llvm::function_ref<llvm::BlockFrequencyInfo& (llvm::Function&)>, llvm::ProfileSummaryInfo*, llvm::OptimizationRemarkEmitter*) (/home/pvelesko/install/llvm/18.0/bin/opt+0x2dc75de)
#10 0x0000000002dc91cb llvm::InlineCost llvm::function_ref<llvm::InlineCost (llvm::CallBase&)>::callback_fn<getDefaultInlineAdvice(llvm::CallBase&, llvm::AnalysisManager<llvm::Function>&, llvm::InlineParams const&)::'lambda2'(llvm::CallBase&)>(long, llvm::CallBase&) InlineAdvisor.cpp:0:0
#11 0x0000000002dcd4dc llvm::shouldInline(llvm::CallBase&, llvm::function_ref<llvm::InlineCost (llvm::CallBase&)>, llvm::OptimizationRemarkEmitter&, bool) (/home/pvelesko/install/llvm/18.0/bin/opt+0x2dcd4dc)
#12 0x0000000002dcf0aa getDefaultInlineAdvice(llvm::CallBase&, llvm::AnalysisManager<llvm::Function>&, llvm::InlineParams const&) InlineAdvisor.cpp:0:0
#13 0x0000000002dcf25b llvm::DefaultInlineAdvisor::getAdviceImpl(llvm::CallBase&) (/home/pvelesko/install/llvm/18.0/bin/opt+0x2dcf25b)
#14 0x0000000002dcb49d llvm::InlineAdvisor::getAdvice(llvm::CallBase&, bool) (/home/pvelesko/install/llvm/18.0/bin/opt+0x2dcb49d)
#15 0x000000000275eadd llvm::InlinerPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/pvelesko/install/llvm/18.0/bin/opt+0x275eadd)
#16 0x0000000001fd61ed llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::InlinerPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/pvelesko/install/llvm/18.0/bin/opt+0x1fd61ed)
#17 0x0000000000cd5d24 llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/pvelesko/install/llvm/18.0/bin/opt+0xcd5d24)
#18 0x0000000001fd4fcd llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/pvelesko/install/llvm/18.0/bin/opt+0x1fd4fcd)
#19 0x0000000000cd7e5a llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/pvelesko/install/llvm/18.0/bin/opt+0xcd7e5a)
#20 0x000000000275c491 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/pvelesko/install/llvm/18.0/bin/opt+0x275c491)
#21 0x0000000001fd4bad llvm::detail::PassModel<llvm::Module, llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/pvelesko/install/llvm/18.0/bin/opt+0x1fd4bad)
#22 0x0000000001879711 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/pvelesko/install/llvm/18.0/bin/opt+0x1879711)
#23 0x00000000007a4e75 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/home/pvelesko/install/llvm/18.0/bin/opt+0x7a4e75)
#24 0x00000000006fb7de main (/home/pvelesko/install/llvm/18.0/bin/opt+0x6fb7de)
#25 0x0000153e7bf5e24d __libc_start_main (/lib64/libc.so.6+0x3524d)
#26 0x0000000000798fda _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:122:0
clang++: error: unable to execute command: Aborted
clang++: error: hipspv-link command failed due to signal (use -v to see invocation)
clang version 18.1.5 (https://github.com/CHIP-SPV/llvm-project.git 5c39d7d1aa6e54a9c8df41002d419c398ec8830c)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/pvelesko/install/llvm/18.0/bin
clang++: note: diagnostic msg: Error generating preprocessed source(s).

failed to execute:/home/pvelesko/install/llvm/18.0/bin/clang++ -include /home/pvelesko/chipStar/main/include/hip/spirv_fixups.h -I//home/pvelesko/chipStar/main/build/include -x hip /home/pvelesko/chipStar/main/samples/hipInfo/hipInfo.cpp -D__HIP_PLATFORM_SPIRV__= --offload=spirv64 -nohipwrapperinc --hip-path=/home/pvelesko/chipStar/main/build --target=x86_64-unknown-linux-gnu   -I/home/pvelesko/chipStar/main/include -I/home/pvelesko/chipStar/main/HIP/include -I/home/pvelesko/chipStar/main/build/include -o /home/pvelesko/chipStar/main/build/hipInfo -L/home/pvelesko/chipStar/main/build -lCHIP -no-hip-rt -Wl,-rpath,/home/pvelesko/chipStar/main/build
make[2]: *** [CMakeFiles/hipInfoBin.dir/build.make:75: hipInfo] Error 1
make[1]: *** [CMakeFiles/Makefile2:2950: CMakeFiles/hipInfoBin.dir/all] Error 2
make: *** [Makefile:166: all] Error 2