Add support of framework Accelerate for MacOS#1371
Add support of framework Accelerate for MacOS#1371foxtran wants to merge 6 commits intogrimme-lab:mainfrom
Conversation
e1d9528 to
694d338
Compare
6484775 to
88a1d62
Compare
88a1d62 to
ea34cb0
Compare
awvwgk
left a comment
There was a problem hiding this comment.
I am not too happy with this change because it adds a long list of flags globally. Would it be possible to implement this on the source level by overriding the BLAS / LAPACK interfaces with an extra bind(c, name="_dxyz$NEWLAPACK")?
Actually, I have a library for doing this... However, it requires to update all deps of xtb and this is really painful. |
|
And one has to instrument whole xtb source code with these interfaces. For example, here: Line 48 in 6d44803 and here: Lines 144 to 147 in 6d44803 ddot is used without mctc interface. So, it is a big work. For MRCC, I solved this problem mainly with patched old compiler, but it can not understand xtb source code, unfortunately. |
|
While trying to inject a custom However, at some point, for example to switch between FP64 and FP32 based on convergence criteria, the client would have to recompile xTB from source. This is just food for thought. |
Signed-off-by: Igor S. Gerasimov <foxtranigor@gmail.com>
Signed-off-by: Igor S. Gerasimov <foxtranigor@gmail.com>
Signed-off-by: Igor S. Gerasimov <foxtranigor@gmail.com>
Signed-off-by: Igor S. Gerasimov <foxtranigor@gmail.com>
Signed-off-by: Igor S. Gerasimov <foxtranigor@gmail.com>
Signed-off-by: Igor S. Gerasimov <foxtranigor@gmail.com>
0f87042 to
b1efa91
Compare
|
Hmm.. Something is broken... |
|
@thfroitzheim, ping me next time when you want to update code. Something goes wrong. |
|
We wanted to check if your addition of accelarate would fix the current problem on macos in #1396. But it doesn't seem to be the case. Everything else still seems to work here. |
|
Oh.. I see.. Can fix it at evening. |
This patch masks old buggy implementation of BLAS/LAPACK from Apple Accelerate with fixed version via aliasing. New implementation is available since MacOS 13.3, and has suffix
$NEWLAPACKforLP64mode,ILP64mode has syffix$NEWLAPACK$ILP64. However, new implementation still has incompatible interface forcdotc,cdotu,zdotc,zdotu. Fortunately, xtb does not use them.I've masked all used BLAS/LAPACK routines which are used at the current moment. Better solution is to provide explicit interfaces/masking to BLAS/LAPACK in source code.
Closes #1319