-
Notifications
You must be signed in to change notification settings - Fork 752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable non-standard OpenBLAS extensions v2 #1572
Conversation
We introduce openblas_full, as an alternative to openblas, and load the extra functions there.
openblas_full is an alternative to openblas that doesn't skip any function provided by openblas, except deprecated functions. It includes functions that are not present in Accelerate and/or MKL, but are included in OpenBLAS as an useful addition to the netlib BLAS interface.
... and just redefines map().
FYI the following fail was due to a download (networking) fail, not related to the relevant code itself. |
openblas/src/main/java/org/bytedeco/openblas/presets/openblas_nolapack.java
Outdated
Show resolved
Hide resolved
I think I got it working. Could you check that the functions you want are all there? |
As soon as it appears in the snapshot repo (or is there a way to check right now?) |
Now the logical part of the code seems to be working everywhere, but the build fails on Windows for the mysterious reason, after 6 hours. Here's the relevant part at the end of the log. I don't have a windows machine locally where I can experiment with this. Moreover, I didn't manage to build openblas itself on my linux machine. I managed to use the openblas installed by Arch linux. Any ideas what might be the stopper? 2025-02-19T04:03:58.4572042Z [INFO] --- javacpp:1.5.12-SNAPSHOT:build (javacpp-cppbuild-clean) @ openblas ---
2025-02-19T04:03:58.4592803Z [INFO] Detected platform "windows-x86_64"
2025-02-19T04:03:58.4606695Z [INFO] Building platform "windows-x86_64"
2025-02-19T04:03:58.4613408Z [INFO] bash cppbuild.sh clean openblas
2025-02-19T04:03:58.6310128Z Detected platform "windows-x86_64"
2025-02-19T04:03:58.6328578Z Building platform "windows-x86_64"
2025-02-19T04:03:58.6418238Z Cleaning "openblas"
2025-02-19T04:03:58.7095979Z In file included from generic/ztrmm_uncopy_4.c:40:
2025-02-19T04:03:58.7102908Z ../common.h:423:10: fatal error: common_x86_64.h: No such file or directory
2025-02-19T04:03:58.7396978Z compilation terminated.
2025-02-19T04:03:58.7437143Z make[1]: *** [Makefile.L3:1826: ztrmm_ounncopy_SANDYBRIDGE.obj] Error 1
2025-02-19T04:03:58.7438934Z make[1]: *** Waiting for unfinished jobs....
2025-02-19T04:03:59.5684628Z 2025-02-19 04:03:59
2025-02-19T04:03:59.5689911Z Full thread dump OpenJDK 64-Bit Server VM (25.442-b06 mixed mode): |
@saudet Maybe you'd prefer to disable automatic build runs on this PR until I figure it out. |
I'm not sure what you're trying to do, but the build on Windows is failing because of these 2 functions, not cblas or lapack:
|
Thank for that pointer! I was not able to find the exact function that was the culprit, so I was trying to find that out by guesses. I'll remove these two and then I hope it will work! |
@saudet Good news! The last commit builds on all platforms! I can see that a few builds (windows is not among them) are still waiting in the queue due to previous actions still running (if you can, maybe you'd want to cancel them anyway), but on my repository, all build actions completed successfully. Thanks for helping with this! |
openblas/src/main/java/org/bytedeco/openblas/presets/openblas_nolapack.java
Outdated
Show resolved
Hide resolved
Looks alright, but could you double-check that all the functions you're interested in are there? |
Thanks! I've checked several and they are in the generated java file for openblas_full. |
The second try of the #1571
The macos build passed, so I'm opening the PR so you can see whether it now works with the changes you suggested (mapCommon).
I've tried to build everything on my machine, but the openblas build fails (independently of this change) due to some LLVM error that is probably related to some mismatch in I-don-t-know-which combination of native compilers, so I couldn't reach the Java gen stage and see how the final opencl_java class looks like. That's why I'm opening this PR. (btw I've tried the docker way too, as per JavaCPP guide, but then some internal docker stuff didn't work. I couldn't solve it right now).