uncomplicate / neanderthal-native

Eclipse Public License 1.0
10 stars 6 forks source link

Add support for building using Java 9+ #1

Open devurandom opened 4 years ago

devurandom commented 4 years ago

See-also: https://github.com/maven-nar/nar-maven-plugin/issues/313

blueberry commented 4 years ago

Hi,

Thanks for contributing this. Can you specify your environment (OS, compiler, etc.), as Windows and Mac builds are fragile, so I'd like to not break the?

Just for clarification: as a normal user, you should not have to build neanderhal-native yourself. Simply including neanderthal in your project, and having mkl on your library path should be enough, regardless of Java version.

As I currently still build the official release on Java 8, this might have to wait a while (Windows still requires an old version of maven-nar-plugin), but I'm expecting the upgrade in the following months, so then I'll take your changes into account (I hope that suits your plans).

devurandom commented 4 years ago

Can you specify your environment (OS, compiler, etc.)

I am running Linux 5.7 with GCC 10, OpenJDK 11. I did not test on Windows nor macOS.

Just for clarification: as a normal user, you should not have to build neanderhal-native yourself.

I am coming from uncomplicate/neanderthal#95 to gauge how much effort it would be to provide a basic implementation that is just enough to upload data to OpenCL. The first step is getting neanderthal-native to build. (MKL is not easily available on any of my systems: Fedora 32 does not ship it at all and on Gentoo it cannot easily be installed in parallel with other BLAS/CBLAS/LAPACK implementations. And then there is Intel's "cripple AMD" routine, which is not very encouraging either. And then of course there is the closed-source nature of the library.)

I hope that suits your plans.

That is fine with me. I can live with using my own builds, should I be successful with my endeavour.

blueberry commented 4 years ago

MKL seems to work well on AMD with one little switch: https://twitter.com/danluu/status/1203450367515615233?s=19

devurandom commented 4 years ago

MKL seems to work well on AMD with one little switch: https://twitter.com/danluu/status/1203450367515615233?s=19

If you mean MKL_DEBUG_CPU_TYPE, Intel removed that recently: https://old.reddit.com/r/matlab/comments/dxn38s/howto_force_matlab_to_use_a_fast_codepath_on_amd/fm2j83e/

Anyway, I do not really feel like relying on such crutches. I imagine it cannot be that difficult to upload a few thousand floats to a GPU that it would warrant jumping through Intel's hoops. Maybe I will be proven wrong...