Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Build fails with NVHPC 26.9

未关闭
#6,173 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
18/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
c
领域
build-system

调研方向

This is a crash inside NVHPC's own LLVM opt during the ipsccp/FunctionSpecializer pass while compiling a generated kernel source such as kernel/CMakeFiles/sgemv_t.c, not obviously an OpenBLAS defect; the reporter has already filed it upstream at the NVIDIA forum. A maintainer would start by reproducing the build with NVHPC 26.9, then checking whether the CMake flags in cmake/ for the nvc compiler path can avoid the crashing pass or flag combination. Done would mean a documented workaround or flag change that lets the 0.3.34 build complete, or a confirmation that the fix belongs upstream.

由索引模型根据 Issue 内容生成。

描述

Bug in other software

Hello,

I could not build OpenBLAS 0.3.34 with latest NVHPC 26.9. Error message is the following :

make[2]: Entering directory '/software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/OpenBLAS-0.3.34.nvc-26.9.build'
[ 84%] Building C object kernel/CMakeFiles/kernel.dir/CMakeFiles/sgemv_t.c.o
cd /software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/OpenBLAS-0.3.34.nvc-26.9.build/kernel && /software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/nvhpc_2026_269_Linux_x86_64_cuda_multi.prefix/Linux_x86_64/26.9/compilers/bin/nvc -DUSE_GEMM3M -I/software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/OpenBLAS-0.3.34 -I/software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/OpenBLAS-0.3.34.nvc-26.9.build -DHAVE_C11 -tp px -march=sapphirerapids -mavx2 -mavx -msse -msse2 -msse3 -mssse3 -msse4.1 -fPIC
-DSMALL_MATRIX_OPT -DNO_WARMUP -DMAX_CPU_NUMBER=256 -DMAX_PARALLEL_NUMBER=1 -DMAX_STACK_ALLOC=2048 -DNO_AFFINITY -DVERSION="\"0.3.34\"" -DBUILD_SINGLE -DBUILD_DOUBLE -DBUILD_COMPLEX -DBUILD_COMPLEX16 -fast -O3 -DNDEBUG -MD -MT kernel/CMakeFiles/kernel.dir/CMakeFiles/sgemv_t.c.o -MF CMakeFiles/kernel.dir/CMakeFiles/sgemv_t.c.o.d -o CMakeFiles/kernel.dir/CMakeFiles/sgemv_t.c.o -c /software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/OpenBLAS-0.3.34.nvc-26.9.build/kernel/CMakeFiles/sgemv_t.c
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0.      Program arguments: /software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/nvhpc_2026_269_Linux_x86_64_cuda_multi.prefix/Linux_x86_64/26.9/compilers/share/llvm/bin/opt --passes=default<O3> --nvhpc-consider-undef=true --nvhpc-reassoc=true --nvhpc-canonicalize-gep=true --nvhpc-phi-opt=true --nvhpc-store-opt=true --nvhpc-unswitch-loops-with-trip-count=2 --nvhpc-slp-v2fp-gather-gate=true --nvhpc-keep-int-mul-add-alt=true --nvhpc-reject-tiny-copyable-identity=true --nvhpc-reject-buildvec-horiz-reduce=true --nvhpc-slp-v2fp-gather-reject-lo=13 --nvhpc-slp-v2fp-gather-reject-hi=18 --nvhpc-fptrunc-opt=true --nvhpc-no-sink-phi-loads-same-base=true --nvhpc-fold-nextafter=true --nvhpc-lane-group-gather=true --nvhpc-load-store-opt=true --nvhpc-masked-compress-cost=true --nvhpc-slp-insertelt-vl=true --nvhpc-x86-partial-reduction=true --nvhpc-maximize-bandwidth-for-partial-reductions=true --nvhpc-disable-rewrite-tree-merge=true --nvhpc-align-stack-for-func-spec=true --denormal-fp-math=positive-zero --nvhpc-finite-opts=false --nvhpc-unswitch-loops-with-trip-count=2 --nvhpc-phi-fold=true --nvhpc-masked-load-opt=true --nvhpc-has-mixed-const-intrin=true --nvhpc-tree-cost-adjust=true --nvhpc-defer-fma-zero-fold=true --nvhpc-enable-return-slot-move=true --nvhpc-check-tli-mapping-signature=true -mcpu=sapphirerapids /tmp/nvc9l45e3TAz2OiU.ll -S -o /tmp/nvcLl45eVCqxtqPv.llvm
1.      Running pass "ipsccp" on module "/tmp/nvc9l45e3TAz2OiU.ll"
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  opt       0x000055d0723433e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 40
1  opt       0x000055d072340e05 llvm::sys::RunSignalHandlers() + 293
2  opt       0x000055d072344116
3  libc.so.6 0x00007f282c23fb30
4  opt       0x000055d07000d25d
5  opt       0x000055d07000cddd
6  opt       0x000055d070017716
7  opt       0x000055d0700091cf
8  opt       0x000055d0700072dc
9  opt       0x000055d0700145e7
10 opt       0x000055d071a39f61 llvm::CodeMetrics::analyzeBasicBlock(llvm::BasicBlock const*, llvm::TargetTransformInfo const&, llvm::SmallPtrSetImpl<llvm::Value const*> const&, bool, llvm::Loop const*) + 1377
11 opt       0x000055d0707b8748 llvm::FunctionSpecializer::run() + 440
12 opt       0x000055d070796b32 llvm::IPSCCPPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 1362
13 opt       0x000055d07219e3b9 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 313
14 opt       0x000055d06fcb22f2 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool, bool) + 14498
15 opt       0x000055d06fca706b optMain + 10731
16 libc.so.6 0x00007f282c22a610
17 libc.so.6 0x00007f282c22a6c0 __libc_start_main + 128
18 opt       0x000055d06fca0c0e _start + 46
nvc-Fatal-/software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/nvhpc_2026_269_Linux_x86_64_cuda_multi.prefix/Linux_x86_64/26.9/compilers/share/llvm/bin/opt TERMINATED by signal 11
make[2]: *** [kernel/CMakeFiles/kernel.dir/build.make:1299: kernel/CMakeFiles/kernel.dir/CMakeFiles/sgemv_t.c.o] Error 2
make[2]: Leaving directory '/software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/OpenBLAS-0.3.34.nvc-26.9.build'
make[1]: *** [CMakeFiles/Makefile2:7831: kernel/CMakeFiles/kernel.dir/all] Error 2
make[1]: Leaving directory '/software/stack/cepp/.bmorvana-tests/openblas-nvhpc-26.9-repro/OpenBLAS-0.3.34.nvc-26.9.build'
make: *** [Makefile:146: all] Error 2                                                                                                                                                                                                                                  

Everything builds fine with NVHPC 26.5 and older, as well as with other compilers (including recent LLVM releases).

This looks like an issue on NVidia side. I opened an issue on their forums : https://forums.developer.nvidia.com/t/nvhpc-26-9-fail-during-openblas-0-3-34-build/386813

Best,

Antoine.

主要语言
C
星标
7.7k
派生
1.7k
平均合并
1 天 8 小时
30 天内合并 PR
60

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

OpenMathLib/OpenBLAS 的其他 Issue

查看 OpenMathLib/OpenBLAS 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。