luhenry / netlib

An high-performance, hardware-accelerated implementation of Netlib in Java
Other
64 stars 12 forks source link

Are the native parts of this for Linux only? #21

Closed kwalcock closed 1 year ago

kwalcock commented 1 year ago

In the version of this project deployed to maven as

        <dependency>
            <groupId>dev.ludovic.netlib</groupId>
            <artifactId>blas</artifactId>
            <version>3.0.1</version>
        </dependency>

which is used by https://github.com/scalanlp/breeze, I see in the jar a resources.native/Linux-amd64/libnetlibblasjni.so and code in dev.ludovic.netlib.blas.InstanceBuilder

            String.format("resources/native/%s-%s/libnetlibblasjni.so", osName, osArch))) {

that would cause it to be accessed. If I want something other than Linux-amd64, it looks like I will have to build a library corresponding to libnetlibblasjni.so for my system and include it in a similar jar file so that it can then access a native blas library on my computer. Is this correct? Thank you.

luhenry commented 1 year ago

@kwalcock Hi! only linux-amd64 and linux-aarch64 are supported at the moment. I'm planning to add support for linux-riscv64 soon.

What other platforms would you need support for?

kwalcock commented 1 year ago

My goal is to have in addition to linux-amd64 and linux-aarch64, the same two variations for Mac and then Windows (10+) on amd64. Linux end users are in the minority for us. Thanks for the clarification.