fommil / matrix-toolkits-java

:rocket: High Performance Linear Algebra OOP
GNU Lesser General Public License v3.0
362 stars 104 forks source link

Failed to load implementation from #50

Closed amitchandak closed 10 years ago

amitchandak commented 10 years ago

Hi, I downloaded the "zip" file from git repo and then tried to build the project using maven.

I executed " mvn package" to build the project, while running the test cases it gives these WARNINGS:

T E S T S

Running no.uib.cipr.matrix.LowerSymmDenseMatrixTest Sep 05, 2014 1:43:11 PM com.github.fommil.netlib.BLAS WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS Sep 05, 2014 1:43:11 PM com.github.fommil.netlib.BLAS WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS Sep 05, 2014 1:43:11 PM com.github.fommil.netlib.LAPACK WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeSystemLAPACK Sep 05, 2014 1:43:11 PM com.github.fommil.netlib.LAPACK WARNING: Failed to load implementation from: com.github.fommil.netlib.NativeRefLAPACK

[Other Test Cases Truncated] Results :

Tests run: 2447, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 19.380 s [INFO] Finished at: 2014-09-05T13:43:28+05:30 [INFO] Final Memory: 11M/292M [INFO] ------------------------------------------------------------------------

How can I avoid these, since these are required for achieving best performance. Thank You, Amit.

fommil commented 10 years ago

The most important thing here is BUILD SUCCESS.

You need to read the netlib-java documentation if you want to delve into the performance details, but this is an advanced topic.

amitchandak commented 10 years ago

Hi fommil, I went though the documentation of netlib-java and followed the steps there. 1) First installed ATLAS then added installed folder to /etc/ld.so.conf and then run ldconfig

2) I tried to install netlib-java using maven and got this o/p: [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] netlib for Java .................................... SUCCESS [02:28 min] [INFO] core ............................................... SKIPPED [INFO] netlib-java ........................................ SKIPPED [INFO] native_ref ......................................... SKIPPED [INFO] native_ref-java .................................... SKIPPED [INFO] netlib-native_ref-osx-x86_64 ....................... SKIPPED [INFO] netlib-native_ref-win-i686 ......................... SKIPPED [INFO] netlib-native_ref-win-x86_64 ....................... SKIPPED [INFO] native_system ...................................... SKIPPED [INFO] native_system-java ................................. SKIPPED [INFO] netlib-native_system-osx-x86_64 .................... SKIPPED [INFO] netlib-native_system-win-i686 ...................... SKIPPED [INFO] netlib-native_system-win-x86_64 .................... SKIPPED [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 04:29 min [INFO] Finished at: 2014-09-08T15:39:33+05:30 [INFO] Final Memory: 19M/205M

3) After this I tried to re-install MTJ package but still the above "WARNING" exists.

Can you please help where I am going wrong? Basically I want to use MTJ with netlib-java to get the best performance.

fommil commented 10 years ago

BUILD SUCCESS. There is no problem here and I don't even know what you're typing: it sure as hell isn't running the mtj unit tests, or even yours.

If you want native binary support, that is an advanced feature that depends entirely on your system. I cannot support that for every conceivable system configuration so you are on your own if the defaults do not work for you.

ellbur commented 7 years ago

For what it's worth, I got native netlib to work by including the breeze-natives package from Scala Breeze as a dependency. This might work even if you're not using Breeze. You could also look at what that package includes and see if you can copy it to get native libraries working.