OpenBLAS icon indicating copy to clipboard operation
OpenBLAS copied to clipboard

build tests test/dblat1 and ctest/xdcblat1 fail on OpenIndiana SPARC

Open klausz65 opened this issue 1 month ago • 5 comments

while building OpenBLAS-0.3.30 on OpenIndiana SPARC the following error happens in directory: test

OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./dblat1 Real BLAS Test Program Results ... Test of subprogram number 7 DNRM2

Program received signal SIGBUS: Access to an undefined portion of a memory object.

Backtrace for this error: /bin/sh: 181992: Abort(coredump) make[1]: *** [Makefile:52: level1] Abort make[1]: *** Waiting for unfinished jobs....

The second error happens in directory ctest:

OPENBLAS_NUM_THREADS=2 ./xdcblat1 Real CBLAS Test Program Results ...

Test of subprogram number 7 CBLAS_DNRM2

Program received signal SIGBUS: Access to an undefined portion of a memory object.

Backtrace for this error: /bin/sh: 186674: Abort(coredump) make[1]: *** [Makefile:101: all1] Abort make[1]: *** Waiting for unfinished jobs....

both Makefiles have been patched to not use these two tests, for details see: https://github.com/OpenIndiana/oi-userland/pull/24841

klausz65 avatar Nov 27 '25 16:11 klausz65

That appears to be fallout from a rather dubious (in retrospect) bugfix I made 3 years ago. A better temporary fix should be to change the KERNEL files in kernel/sparc to have DNRM2KERNEL=../arm/nrm2.c as patching out the tests will only hide that the library is likely to bomb out on DNRM2 calls in user code as well

martin-frbg avatar Nov 28 '25 12:11 martin-frbg

You think of this patch: --- OpenBLAS-0.3.30/kernel/sparc/KERNEL.orig 2025-06-19 11:45:39.000000000 +0200 +++ OpenBLAS-0.3.30/kernel/sparc/KERNEL 2025-11-28 13:31:12.380434169 +0100 @@ -59,7 +59,7 @@ endif

ifndef DNRM2KERNEL -DNRM2KERNEL = dnrm2.S +DNRM2KERNEL = ../arm/nrm2.c endif

ifndef CNRM2KERNEL

new build just stated - will let you know how the results - thanks quite much for the quick support !

klausz65 avatar Nov 28 '25 12:11 klausz65

Yes, that's right. I'll try to come up with a proper fix for dnrm2.S , but I'm not actually familiar with SPARC assembly, and modern compilers will probably have reduced the speed advantage of that hand-crafted code anyway.

martin-frbg avatar Nov 28 '25 12:11 martin-frbg

Test build done successfully, new pull RQ: https://github.com/OpenIndiana/oi-userland/pull/24846 in the production build queue. Awesome - thanks quite much.

klausz65 avatar Nov 28 '25 13:11 klausz65

About SPARC assembler, I do have 2 PDFs for: 801-6649 and 816-1681-10. I don't know if they still can be downloaded somewhere, but just in case you don't have them, let me know I mail them to you... I did some assembler stuff in the good old SunOS 4.x times - but these times are long gone...

klausz65 avatar Nov 28 '25 13:11 klausz65