-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Heya 👋
I'm currently looking into building software packages for a potential LLVM toolchain in EasyBuild.
While trying to build OpenBLAS on a Grace Hopper system, I noticed that OpenBLAS fails to run a single test in this configuration:
$ make -j 16 shared BINARY='64' CC='clang' FC='flang' MAKE_NB_JOBS='-1' USE_OPENMP='1' USE_THREAD='1' CFLAGS='-O2 -Wl,--undefined-version -Wno-unused-command-line-argument -Wno-error=int-conversion'
$ OMP_NUM_THREADS=16 OPENBLAS_NUM_THREADS=16 make tests BINARY='64' CC='clang' FC='flang' MAKE_NB_JOBS='-1' USE_OPENMP='1' USE_THREAD='1'With any number of threads above 1, we see this failure (I've added the (%d) at the end to get the actual info value):
TEST 124/126 potrf:smoketest_trivial [FAIL]
ERR: test_potrs.c:463 info != 0 (2)
With a single thread, this part passes, but we fail later on:
TEST 124/126 potrf:smoketest_trivial [FAIL]
ERR: test_potrs.c:537 U s(1,1) difference: 0.0449998
Given that flang is not entirely mature, I wouldn't be surprised if there's still a compiler bug somewhere.
However, I failed to find a trace of this being reported in LLVM or here.
The same configuration worked just fine on Intel Alderlake and AMD Zen4, so I'm guessing that this is an aarch64 specific issue.
System info: Rocky Linux 9.6, NVIDIA Grace Hopper GH200, 480 GB RAM
Used software:
$ module list
Currently Loaded Modules:
1) GCCcore/14.3.0 3) binutils/2.44 5) XZ/5.8.1 7) ncurses/6.5 9) Z3/4.15.1 11) lz4/1.10.0 13) LLVM/20.1.8 15) make/4.4.1 17) libreadline/8.2 19) Tcl/9.0.1 21) OpenSSL/3
2) zlib/1.3.1 4) libffi/3.5.1 6) libxml2/2.14.3 8) GMP/6.3.0 10) gzip/1.14 12) zstd/1.5.7 14) llvm-compilers/20.1.8 16) bzip2/1.0.8 18) libtommath/1.3.0 20) SQLite/3.50.1 22) Python/3.13.5If any more information is needed, I'm happy to help out. Unforunately, I don't have much of an idea where this issue could be coming from...