Install Determined Using Windows Subsystem for Linux (Windows)#

This user guide provides step-by-step instructions for installing Determined on the Windows Subsystem for Linux (WSL). You have two options for installation: using the Debian or RPM packages provided by Determined, or using Docker containers published by Determined with Docker Desktop. In this user guide, we’ll focus on achieving a single-machine installation of Determined, with both the master and agent running on the same machine within WSL.

Requirements#

Minimum

Recommended

Enable systemd#

Edit the configuration file to enable systemd within your WSL distribution. To do this:

  • Open a terminal window in your WSL distribution.

  • Add systemd=true to the [boot] section of /etc/wsl.conf in your WSL distribution:

    sudo bash -c "echo '[boot]' >> /etc/wsl.conf && echo 'systemd=true' >> /etc/wsl.conf"
    
  • Then shutdown WSL:

    wsl.exe --shutdown
    
  • Re-launch your WSL distribution.

Install Determined Using det deploy#

This user guide provides instructions for using the det deploy command-line tool to deploy Determined locally on WSL. det deploy automates the process of starting Determined as a collection of Docker containers.

You can also use det deploy to install Determined on the cloud. For more information, see the AWS and GCP installation guides.

In a typical production setup, the master and agent nodes run on separate machines. The master and agent nodes can also run on a single machine, which is useful for local development. This user guide provides instructions for local development on WSL.

Preliminary Setup#

Note

To use det deploy for local installations, Docker must be installed. For Docker installation instructions, visit installation.

Install pip if it is not already installed:

On Ubuntu:

sudo apt-get install python3-pip -y

On Enterprise Linux:

sudo dnf install python3-pip -y

Install the determined Python package by running:

pip install determined

Note

The command, pip install determined, installs the determined library which includes the Determined command-line interface (CLI).

Configure and Start the Cluster#

A configuration file is needed to set important values in the master, such as where to save model checkpoints. For information about how to create a configuration file, see Configuring the Cluster. There are also sample configuration files available.

Note

det deploy will use a default configuration file if you don’t provide one. It also transparently manages PostgreSQL along with the master, so the configuration options related to those services do not need to be set.

Deploy a Single-Node Cluster#

For local development or small clusters (such as a GPU workstation), you may wish to install both a master and an agent on the same node. To do this, run one of the following commands:

# If the machine has GPUs:
det deploy local cluster-up

# If the machine doesn't have GPUs:
det deploy local cluster-up --no-gpu

This will start a master and an agent on that machine. To verify that the master is running, navigate to http://localhost:8080 in a browser, which should bring up the Determined WebUI.

To open the WebUI from WSL:

explorer.exe http://localhost:8080

The default username for the WebUI is determined and no password. After signing in, you’ll need to create a strong password.

In the WebUI, go to the Cluster page. You should now see slots available (either CPU or GPU, depending on what hardware is available on the machine).

For single-agent clusters launched with:

det deploy local cluster-up --auto-work-dir <absolute directory path>

the cluster will automatically make the specified directory available to tasks on the cluster as ./shared_fs. If --auto-work-dir is not specified, the cluster will default to mounting your home directory. This will allow you to access your local preferences and any relevant files stored in the specified directory with the cluster’s notebooks, shells, and TensorBoard tasks. To disable this feature, use:

det deploy local cluster-up --no-auto-work-dir

For production deployments, you’ll want to use a cluster configuration file. To provide this configuration file to det deploy, use:

det deploy local cluster-up --master-config-path <path to master.yaml>

Stop a Single-Node Cluster#

To stop a Determined cluster, on the machine where a Determined cluster is currently running, run

det deploy local cluster-down

Note

det deploy local cluster-down will not remove any agents created with det deploy local agent-up. To remove these agents, use det deploy local agent-down.