-
Notifications
You must be signed in to change notification settings - Fork 744
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
Build OpenBlas and mkl for ios (x86_64 and aarch64) #515
Conversation
As noted in pull #444 we might want to create new presets for "netlib" to be able to use implementations like Accelerate that have separate libraries for BLAS and LAPACK, but then again since Accelerate doesn't implement LAPACKE it might not matter as much: So, BLAS-only like on Android, that looks good enough for now. Let's make Accelerate optional though and give users the option of actually using OpenBLAS if they so choose. Did you encounter any problems building LAPACK-less OpenBLAS for iOS? |
It didn't run out of the box but I can't remember if the issues would be easy to solve or not. |
Ok, but let's put the steps to build it, even if it doesn't run for now,
and leave it up to the user at link time which one to use :)
And mkl isn't available on iOS for sure, so let's not add it to the pom.xml
file for iOS.
|
|
Ok, I've made some changes to JavaCPP (bytedeco/javacpp@944f6b1) and this PR (16ae078) so it actually builds and bundles OpenBLAS now. That seems to work for me here. You'll find Now this doesn't include LAPACKE, so the Java wrappers that this generates won't work with ND4J. The trick is to run a |
Ok, I spent a bit more time fixing the builds and now it should work. With the latest commit above, can you try to run exactly these commands inside the
|
Well, Travis CI seems to be happy with it, so let's get this merged and it will start deploying artifacts automatically! Let me know if you encounter any issues with them. Thanks |
Fixed final linking issues in commit aec0265. It should actually work now :) |
With this PR, I can build the jars required for iOS deployment:
mvn -DskipTests -Dmaven.javadoc.skip=true -Djavacpp.platform=ios-x86_64 -Djavacpp.cppbuild.skip=true install
mvn -DskipTests -Dmaven.javadoc.skip=true -Djavacpp.platform=ios-arm64 -Djavacpp.cppbuild.skip=true install