Open TobiasDuswald opened 1 month ago
MacOS 14.5, Xcode 15.4
I tried to get rid of this the warning in Cmake by adding a case for macOS to sluCnames.h
but the failing tests persisted. I ran the tests in debug mode and the address sanitizer complained for the respective tests. The log is from macOS 14.5, Xcode 15.4, with cmake -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_C_FLAGS="-fsanitize=address -fsanitize=undefined -glldb" ..
. Commit v7.0.0.
test-debugbuild.log
Can you try using internal BLAS first, with the following cmake definition: -Denable_internal_blaslib=ON
Compiling the project with cmake -Denable_internal_blaslib=ON .. && make -j && make test
compiles successfully and all tests pass. 👍
This is good. However, the internal BLAS is not fast. You need to link with a high performance BLAS. The one you were using in Xcode does not have single precision. Alternatively, if you are not using single precision, you can disable it in cmake.
I'll use double precision in any case so I'll think it should be okay. :)
I still find it a bit confusing that it compiles if there is apparently no single precision implementation available, yet yields wrong results in the tests. If it is not available, I expected errors during compilation / linking.
Also It appears to me that Xcode / Apple BLAS provides single precision interfaces (see https://developer.apple.com/documentation/accelerate/blas#1805465) but it wasn't immediately obvious to me how to include this in the library and which changes are necessary to facilitate single precision.
A good public domain BLAS is OpenBLAS: https://www.openblas.net/
I tried installing and testing
superlu
(v7.0.0) by running the following commands:The tests failed for single precision and complex single precision failed:
I suppose that this is related to the cmake output
I also attach all logs (make , cmake, ctest). Is there a simple fix to get this running? make.log test.log cmake.log