Use SystemDS with Docker
Docker enables you to separate applications from your infrastructure. This provides a way to manage the infrastructure the same way you do with the software.
With Docker, enabling GPU support would be much easier on linux. Since only the NVIDIA GPU drivers are required on the host machine (NVIDIA CUDA toolkit is not required).
SystemDS Docker requirements
Install Docker specific to your machine
Note: If you would like to manage docker as a non-root user, refer to linux-postinstall
Download SystemDS Docker image
The official SystemDS docker images are located at apache/systemds Docker Hub repository. Image releases are tagged based on the release channel:
Tag | Description |
---|---|
nightly |
Builds for SystemDS main branch. Used by SystemDS developers |
Usage examples:
docker pull apache/systemds:nightly # Nightly release with CPU
Start the Docker container
Options:
-it
- interactive--rm
- cleanup-p
- port forwarding
For comprehensive guide, refer docker run
docker run [-it] [--rm] [-p hostPort:containerPort] apache/systemds[:tag] [command]
Examples
To verify the SystemDS installation,
Create a dml
file, for example
touch hello.dml
cat <<EOF >>./hello.dml
print("This is SystemDS")
EOF
and run it.
docker run -it --rm -v $PWD:/tmp -w /tmp apache/systemds:nightly systemds ./hello.dml
The output is "This is SystemDS"
after successful installation.
For SystemDS usage instructions, see standalone instructions.
This way you can run a DML program developed on the host machine, mount the host directory and change the
working directory with -v
flag
and -w
flags.