Hi Niketan,

I've actually dealt with the same problem before (using SystemML as a dependency) and i think this would be a good time to bring up modularization of the project again. Given that we plan to distribute the linear algebra libraries as a separate jar, I think modularization can help us achieve multiple goals here while making it easier to deal with the project in general (especially now that we have a mix of Python, Scala, Java, GPU-stuff, etc. in it).

With modules, we can distribute a systemml-core or systemml-linalg dependency for projects that only want to use parts of SystemML and not the GPU, DSL and other components as dependencies. It should also make it easer to build the project (allow to only build submodules during development --> quicker). I understand the decision to have everything in one module was made previously because the need for multiple submodules wasn't there but maybe it's time to think again.

For a possible structure we could look at other projects (such as spark) for ideas of how to organize it.

- Felix

Am 06.01.2017 20:49 schrieb Niketan Pansare:
Hi all,

I recently got a request from one of our users to compile a fat SystemML
jar that he can include in his Java project.

Here are possible options:

1. Compiling a fat jar using the following command and including it as
"system" dependency:
mvn clean package -P standalone-jar

2. If the project is using maven, it's probably good to use a maven-centric
approach:
<dependency>
<groupId>org.apache.systemml</groupId>
<artifactId>systemml</artifactId>
<version>0.12.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_2.10</artifactId>
<version>1.4.1</version>
</dependency>

Since other users might have similar requirements, I thought of moving the discussion to the dev mailing list. Also, this thread might be a good place
to explain other maven profiles :)

Thanks,

Niketan Pansare
IBM Almaden Research Center
E-mail: npansar At us.ibm.com
http://researcher.watson.ibm.com/researcher/view.php?person=us-npansar

Reply via email to