Running SystemDS

If you want to execute from source code follow the Install from source guide first.

Setting SYSTEMDS_ROOT environment variable

In order to run SystemDS it is highly recomended to setup SystemDS root on path. This works both from your development directory containing source code and if you download a release of SystemDS.

The following example works if you open an terminal at the root of the downloaded release, or a cloned repository. (You can also change the $(pwd) with the full path to the folder.)

export SYSTEMDS_ROOT=$(pwd)
export PATH=$SYSTEMDS_ROOT/bin:$PATH

It can be beneficial to enter these into your ~/.profile or ~/.bashrc for linux, (but remember to change $(pwd to the full folder path) or your environment variables in windows to enable reuse between terminals and restarts.

echo 'export SYSTEMDS_ROOT='$(pwd) >> ~/.bashrc
echo 'export PATH=$SYSTEMDS_ROOT/bin:$PATH' >> ~/.bashrc

Hello, World! example

To quickly verify that the system is setup correctly. You can run a simple hello world, using the launch script.

Open an terminal and go to an empty folder, then execute the following.

# Create a hello World script
echo 'print("Hello, World!")' > hello.dml
# Execute hello world Script
systemds hello.dml
# Remove the hello.dml
rm hello.dml

Running a real first example

To see SystemDS in action a simple example using the Univar-stats.dml script can be executed. The relevant commands to run this example with SystemDS is described in the DML Language reference guide at link. See their documentation for further details.

Example preparations

# download test data
wget -P data/ http://archive.ics.uci.edu/ml/machine-learning-databases/haberman/haberman.data

# generate a metadata file for the dataset
echo '{"rows": 306, "cols": 4, "format": "csv"}' > data/haberman.data.mtd

# generate type description for the data
echo '1,1,1,2' > data/types.csv
echo '{"rows": 1, "cols": 4, "format": "csv"}' > data/types.csv.mtd

Executing the DML script

shell script bin/systemds Univar-Stats.dml -nvargs X=data/haberman.data TYPES=data/types.csv STATS=data/univarOut.mtx CONSOLE_OUTPUT=TRUE

Using Intel MKL native instructions

To use the MKL acceleration download and install the latest supported MKL library (<=2019.5) from 1, set the environment variables with the MKL-provided script . /opt/intel/bin/compilervars.sh intel64 (note the dot and the default install location) and set the option sysds.native.blas in SystemDS-config.xml to mkl.