I am currently working on Deeplearning4J for creating neural networks, what continues to perplex me is that how it references native libraries like OpenBLAS for its operations ?
What does it use ? Does it use jniLoader or some other API ? What is now the de facto piece of software that is used nowadays to write JNI programs ?
Also what's more confusing is that the OpenBLAS libraries are different on both Linux and Windows ? Does that mean that the API of the libraries are same ? I don't see how thats possible since native libraries are bound to the platform they are compiled on.