Skip to content

enzyme crashed for cuda when using clang 20.1.8 #2568

@superustc

Description

@superustc
/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/clang++ -Wno-unknown-cuda-version --target=x86_64-pc-linux-gnu --gcc-toolchain=/home/mixu/dev/vNNN/FBU_Dependencies/thirdparty/compilers/gcc/linx64/bin/.. -std=c++17 -stdlib=libstdc++ -Wno-deprecated-builtins -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-c++20-extensions  -O3 -DNDEBUG -std=c++17 --cuda-path=/home/mixu/dev/vNNN/Cromwell2/Dependencies/cuda -fPIC --target=x86_64-pc-linux-gnu --gcc-toolchain=/home/mixu/dev/vNNN/FBU_Dependencies/thirdparty/compilers/gcc/linx64/bin/.. -std=c++17 -stdlib=libstdc++ -Wno-deprecated-builtins -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-c++20-extensions --cuda-gpu-arch=sm_80 -w -Wno-missing-template-arg-list-after-template-kw -fplugin="/home/mixu/software/Enzyme/enzyme/build-20/Enzyme/libClangEnzyme.so" -mllvm -enzyme-loose-types=1 -mllvm -enzyme-detect-readthrow=0 -mllvm -enzyme-coalese=1 -mllvm -enzyme-noalias=1 -mllvm -enzyme-phi-restructure=1 -x cuda --cuda-path="/home/mixu/dev/vNNN/Cromwell2/Dependencies/cuda/bin/.." -MD -MT SurfaceQuantityCalculator.cxx.o -MF SurfaceQuantityCalculator.cxx.o.d -x cuda -c SurfaceQuantityCalculator.cxx -o SurfaceQuantityCalculator.cxx.o
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module '/home/mixu/dev/vNNN/Cromwell2/Cromwell/CFD/CommonModel/src/Calculators/SurfaceQuantityCalculator.cxx'.
4.      Running pass 'NVPTX DAG->DAG Pattern Instruction Selection' on function '@_ZN8Cromwell8Patterns37dual_transform_sum_reduce_kernel_cudaINS_10Algorithms10IntegralOpINS_11Calculators22priv_CM_Cal_SurQuaCal216VectorFluxKernelENS_11Postprocess18ConstantAreaWeightIdEENS7_12SurfaceValidEdEEEEvjT_SC_PNSC_8DataTypeEPKSD_'
 #0 0x00001494ca4ef59b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x87c59b)
 #1 0x00001494ca4ecb63 SignalHandler(int) Signals.cpp:0:0
 #2 0x00001494d324cd20 __restore_rt (/lib64/libpthread.so.0+0x12d20)
 #3 0x00001494cb088e54 llvm::SelectionDAG::createOperands(llvm::SDNode*, llvm::ArrayRef<llvm::SDValue>) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x1415e54)
 #4 0x00001494cb08b3ef llvm::SelectionDAG::getAtomic(unsigned int, llvm::SDLoc const&, llvm::EVT, llvm::SDVTList, llvm::ArrayRef<llvm::SDValue>, llvm::MachineMemOperand*) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x14183ef)
 #5 0x00001494cb097f36 llvm::SelectionDAG::getAtomic(unsigned int, llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::MachineMemOperand*) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x1424f36)
 #6 0x00001494cb038f26 llvm::SelectionDAGBuilder::visitAtomicRMW(llvm::AtomicRMWInst const&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x13c5f26)
 #7 0x00001494cb061868 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x13ee868)
 #8 0x00001494cb0e404c llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, llvm::ilist_iterator_w_bits<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void, true, llvm::BasicBlock>, false, true>, bool&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x147104c)
 #9 0x00001494cb0e52f3 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x14722f3)
#10 0x00001494cb0e71d5 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x14741d5)
#11 0x00001494cb0d60c9 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0x14630c9)
#12 0x00001494caa4e918 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#13 0x00001494ca6a1939 llvm::FPPassManager::runOnFunction(llvm::Function&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0xa2e939)
#14 0x00001494ca6a1aec llvm::FPPassManager::runOnModule(llvm::Module&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0xa2eaec)
#15 0x00001494ca6a0cfc llvm::legacy::PassManagerImpl::run(llvm::Module&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libLLVM.so.20.1+0xa2dcfc)
#16 0x00001494d0dc46ee clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libclang-cpp.so.20.1+0x22dd6ee)
#17 0x00001494d12df528 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libclang-cpp.so.20.1+0x27f8528)
#18 0x00001494d1d55f68 clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libclang-cpp.so.20.1+0x326ef68)
#19 0x00001494cf81ae8c clang::ParseAST(clang::Sema&, bool, bool) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libclang-cpp.so.20.1+0xd33e8c)
#20 0x00001494d1d10c71 clang::FrontendAction::Execute() (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libclang-cpp.so.20.1+0x3229c71)
#21 0x00001494d1c8f95b clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libclang-cpp.so.20.1+0x31a895b)
#22 0x00001494d1dad077 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/../lib/libclang-cpp.so.20.1+0x32c6077)
#23 0x000000000041363a cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/clang-20+0x41363a)
#24 0x000000000040c0da ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#25 0x000000000040f8da clang_main(int, char**, llvm::ToolContext const&) (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/clang-20+0x40f8da)
#26 0x000000000040bb13 main (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/clang-20+0x40bb13)
#27 0x00001494c93377e5 __libc_start_main (/lib64/libc.so.6+0x3a7e5)
#28 0x000000000040bb5e _start (/home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin/clang-20+0x40bb5e)
clang++: error: unable to execute command: Segmentation fault (core dumped)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 20.1.8
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /home/mixu/software/llvm-20.1.8/llvm-project-llvmorg-20.1.8/build/bin
clang++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/SurfaceQuantityCalculator-sm_80-395468.cu
clang++: note: diagnostic msg: /tmp/SurfaceQuantityCalculator-ee6b11.cu
clang++: note: diagnostic msg: /tmp/SurfaceQuantityCalculator-sm_80-395468.sh
clang++: note: diagnostic msg:

********************

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions