Installation Requirements

System Requirements

A Determined cluster has the following requirements.

Software

  • The Determined agent and master nodes must be configured with Ubuntu 20.04 or later, CentOS 7, or macOS 10.13 or later.

  • The agent nodes must have Docker installed.

  • To run jobs with GPUs, the Nvidia drivers must be installed on each Determined agent. Determined requires a version greater than or equal to 450.80 of the Nvidia drivers. The Nvidia drivers can be installed as part of a CUDA installation but the rest of the CUDA toolkit is not required.

  • Determined supports the active Python versions.

Hardware

  • The Determined master node should be configured with at least four Intel Broadwell or later CPU cores, 8GB of RAM, and 200GB of free disk space. The Determined master node does not need GPUs.

  • Each Determined agent node should be configured with at least two Intel Broadwell or later CPU cores, 4GB of RAM, and 50GB of free disk space. If you are using GPUs, Nvidia GPUs with compute capability 6.0 or greater are required. These include P100, V100, A100, RTX 2080 Ti, RTX 3090, TITAN X, and TITAN XP.

Most of the disk space required by the master is because of the experiment metadata database. If PostgreSQL is set up on a different machine, the disk space requirements for the master are minimal (~100MB).

Install Docker

Docker is a dependency of several Determined system components. For example, every agent node must have Docker installed to run containerized workloads.

Install on Linux

  1. Install Docker. Docker version 20.10 or later is required on the machine where the agent is running.

    On Ubuntu:

    sudo apt-get update && sudo apt-get install -y software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
    sudo apt-get update && sudo apt-get install -y --no-install-recommends docker-ce
    sudo systemctl reload docker
    sudo usermod -aG docker $USER
    

    On CentOS:

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
    sudo yum install -y docker-ce
    sudo systemctl start docker
    
  2. If the machine has GPUs that you want to use with Determined, install the Nvidia Container Toolkit to allow Docker to run containers that use the GPUs. For more information, see the Nvidia documentation.

    On Ubuntu:

    curl -fsSL https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    sudo apt-get update
    
    sudo apt-get install -y --no-install-recommends nvidia-container-toolkit
    sudo systemctl restart docker
    

    On CentOS:

    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    curl -fsSL https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
    
    sudo yum install -y nvidia-container-toolkit
    sudo systemctl restart docker
    
  3. Log out and start a new terminal session.

  4. Verify that the current user is in the docker group and, if the machine has GPUs, that Docker can start a container using them:

    groups
    docker run --gpus all --rm debian:10-slim nvidia-smi
    
  5. If you are using CentOS 7, enable the journalctl log messages persistent storage so logs are saved on machine reboot:

    sudo mkdir /var/log/journal
    sudo systemd-tmpfiles --create --prefix /var/log/journal
    sudo systemctl restart systemd-journald
    

Install on macOS

  1. Install Docker for macOS by following the Docker documentation. The Docker documentation describes system requirements, chipset dependencies, and installation steps.

  2. Start Docker:

    open /Applications/Docker.app
    

Docker on macOS does not support containers that use GPUs. Because of this, macOS Determined agents are only able to run CPU-based workloads.