Skip to content
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

no need for the reference blas #207

Closed
fommil opened this issue Aug 13, 2017 · 13 comments
Closed

no need for the reference blas #207

fommil opened this issue Aug 13, 2017 · 13 comments

Comments

@fommil
Copy link

fommil commented Aug 13, 2017

Your netlib-java dependencies are too large, you only need to depend on the java and system variants. The "reference" versions are a waste of download space.

Also, I'd appreciate a link from your documentation to https://github.com/fommil/netlib-java#netlib-java when you refer to native binaries as I spent a lot of time on this project and have not been remunerated, hence technical credit is a substitute currency.

@haifengl
Copy link
Owner

Thanks! Your github README.md says

"com.github.fommil.netlib" % "all" % "1.1.2" pomOnly()

for dependency. Can you please point me to more detailed information of the best practice to add netlib-java dependency? I am not clear "only need to depend on the java and system variants. The "reference" versions are a waste of download space." Thanks again!

We surely will add your project link to all relevant pages in our documents. Thanks for the great work!

@fommil
Copy link
Author

fommil commented Aug 14, 2017

Just look it the pom you're depending on and only pick the bits you need. You probably don't want the raspberry pi binaries either.

@benmccann
Copy link
Contributor

So perhaps replace it with the following?

"com.github.fommil.netlib" % "netlib-native_system-linux-i686" % "1.1"
"com.github.fommil.netlib" % "netlib-native_system-linux-x86_64" % "1.1"
"com.github.fommil.netlib" % "netlib-native_system-win-x86_64" % "1.1"
"com.github.fommil.netlib" % "netlib-native_system-win-i686" % "1.1"
"com.github.fommil.netlib" % "netlib-native_system-osx-x86_64" % "1.1"
"com.github.fommil.netlib" % "native_system-java" % "1.1"

@fommil
Copy link
Author

fommil commented Aug 16, 2017

assuming they are the latest, that is the kind of thing that would be good. You might even want to drop 32 bit linux. Make sure you also have

"com.github.fommil.netlib" % "core" % "1.1.2"
"com.github.fommil" % "jniloader" % "1.1"

the JVM fallback logic and JNI loader, respectively.

@haifengl
Copy link
Owner

Thank guys! I will try it.

@haifengl
Copy link
Owner

It works well on Mac. I will test it on Windows and Linux soon. Thanks!

@haifengl
Copy link
Owner

@fommil Do you support MKL on windows? It is easy to install it on windows and it does provide excellent performance. Thanks!

@fommil
Copy link
Author

fommil commented Aug 18, 2017

Did you not watch the conference talk referenced from the README? I think you should as it is highly relevant for what you're doing here.

@haifengl
Copy link
Owner

Sure I did. Let me rephrase my question. I understand that you support MKL on Linux (with alternatives). On Windows, you look for libblas3.dll and liblapack3.dll. Is it possible that you support MKL out of box on Windows (suppose its dlls are in PATH)? Thanks!

@haifengl
Copy link
Owner

I draw the conclusion too quickly. Check the log again on Mac, I found the following warnings:

Aug 18, 2017 10:34:51 PM com.github.fommil.netlib.LAPACK <clinit>
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemLAPACK
Aug 18, 2017 10:34:51 PM com.github.fommil.netlib.LAPACK <clinit>
WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeRefLAPACK

Here is my dependencies:

libraryDependencies += "net.sourceforge.f2j" % "arpack_combined_all" % "0.1"

libraryDependencies ++= Seq(
  "com.github.fommil.netlib" % "netlib-native_system-linux-x86_64" % "1.1",
  "com.github.fommil.netlib" % "netlib-native_system-win-x86_64"   % "1.1",
  "com.github.fommil.netlib" % "netlib-native_system-osx-x86_64"   % "1.1",
  "com.github.fommil.netlib" % "native_system-java"                % "1.1",
  "com.github.fommil.netlib" % "core"                              % "1.1.2",
  "com.github.fommil"        % "jniloader"                         % "1.1"
)

What do I miss? Thanks!

@fommil
Copy link
Author

fommil commented Aug 19, 2017

Hmm, I would expect that to work.

@haifengl
Copy link
Owner

It seems a bug with SBT (or sbt-native-packager). Although we list libraries like netlib-native_system-osx-x86_64, SBT doesn't include it in the distribution package. I revert the dependency back to all.

@haifengl
Copy link
Owner

haifengl commented Sep 5, 2017

I submit a ticket:

sbt/sbt-native-packager#1028

Hope it can be fixed in the next 0.13 release. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants