Giter Site home page Giter Site logo

Comments (6)

dr-pain avatar dr-pain commented on June 15, 2024

Thank you for your interest to DAAL and sorry for delay with answer.
release to maven is in our future plans. We will let you know when DAAL will be available in maven.

from onedal.

almson avatar almson commented on June 15, 2024

Releasing to maven is crucial.

The worst part about the daal.jar that is bundled now is that it doesn't have javadoc. This necessitates workarounds.

Please also include libJavaApi.so in the jar. You can look at JCuda, com.github.fommil.netlib, or JavaCPP for examples how this can be done.

At the least, add a pom.xml to the source code so that it is easy to build and install locally.

from onedal.

dr-pain avatar dr-pain commented on June 15, 2024

Hello almson!

Please also include libJavaApi.so in the jar. You can look at JCuda, com.github.fommil.netlib, or JavaCPP for examples how this can be done.

we can not simple include libJavaApi.so into jar because: this is not single so which daal jar depend of; daal support 6 platforms (lnx/mac/win + 32bit/64bit), so all binaries somehow needs to be included into jar to continue support of these platforms.
instead of including all kind of binaries into jar, we plan to have 5 separate zip packages. daal users will be needed to download-unpack binaries thru maven-dependency-plugin. exact zip file may be choosed via profiles.

At the least, add a pom.xml to the source code so that it is easy to build and install locally.

I have attached pom.xml to this post. Could you look at it and tell us your opinion
about chosen scheme of daal at maven publishing?

pom.zip
Andrey

from onedal.

almson avatar almson commented on June 15, 2024

Did you look at JCuda or Netlib before coming up with your own method of handling the native libraries? Because your method is worse.

They don't use java.library.path because it is a very inconvenient mechanism. At runtime, they detect what platform they're running on and extract the appropriate native library to /tmp and load it dynamically.

In the POM, JCuda uses opt-in for desired platforms:

        <dependency>
            <groupId>org.jcuda</groupId>
            <artifactId>jcudnn</artifactId>
            <version>0.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.jcuda</groupId>
            <artifactId>jcudnn-natives</artifactId>
            <version>0.9.0</version>
            <classifier>linux-x86_64</classifier>
        </dependency>
        <dependency>
            <groupId>org.jcuda</groupId>
            <artifactId>jcudnn-natives</artifactId>
            <version>0.9.0</version>
            <classifier>windows-x86_64</classifier>
        </dependency>

while Netlib uses opt-out:

        <dependency>
            <groupId>com.github.fommil.netlib</groupId>
            <artifactId>all</artifactId>
            <version>1.1.2</version>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <groupId>com.github.fommil.netlib</groupId>
                    <artifactId>netlib-native_ref-linux-armhf</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.fommil.netlib</groupId>
                    <artifactId>netlib-native_ref-linux-i686</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.fommil.netlib</groupId>
                    <artifactId>netlib-native_ref-win-i686</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.fommil.netlib</groupId>
                    <artifactId>netlib-native_system-linux-armhf</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.fommil.netlib</groupId>
                    <artifactId>netlib-native_system-linux-i686</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.github.fommil.netlib</groupId>
                    <artifactId>netlib-native_system-win-i686</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

from onedal.

dr-pain avatar dr-pain commented on June 15, 2024

Hello almson!

thank you for pointing us to jcuda. I have looked at at their implementation and it looks really better than my proposal (from customers point of view). I need to finish some experiments, but looks like we will use the same approach in DAAL.

Andrey

PS: I considered packaging DAAL binaries into jar (instead of zip), but missed some key details.

from onedal.

dr-pain avatar dr-pain commented on June 15, 2024

Hello almson!

We have published DAAL at maven central today. Repository address is http://central.maven.org/maven2/com/intel/daal.
To use DAAL in maven projects just add following dependency into .pom file:
<dependency>
<groupId>com.intel.daal</groupId>
<artifactId>daal</artifactId>
<version>2019.0.001</version>
</dependency>

Andrey

from onedal.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.