If you want to execute from source code follow the Install from source guide first.
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
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
To see SystemDS in action a simple example using the Univar-stats.dml
script can be executed. This example is taken from the SystemML documentation. The relevant commands to run this example with SystemDS will be listed here. See their documentation for further details.
# 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
bin/systemds Univar-Stats.dml -nvargs X=data/haberman.data TYPES=data/types.csv STATS=data/univarOut.mtx CONSOLE_OUTPUT=TRUE
To use the MKL acceleration download and install the latest MKL library from 1, set the environment variables with the MKL-provided script $ compilervars.sh intel64
and set the option sysds.native.blas
in SystemDS-config.xml
.