Supervisely
AboutAPI ReferenceSDK Reference
  • 🤖What's Supervisely
  • 🚀Ecosystem of Supervisely Apps
  • 💡FAQ
  • 📌Getting started
    • How to import
    • How to annotate
    • How to invite team members
    • How to connect agents
    • How to train models
  • 🔁Import and Export
    • Import
      • Overview
      • Import using Web UI
      • Supported annotation formats
        • Images
          • 🤖Supervisely JSON
          • 🤖Supervisely Blob
          • COCO
          • Yolo
          • Pascal VOC
          • Cityscapes
          • Images with PNG masks
          • Links from CSV, TXT and TSV
          • PDF files to images
          • Multiview images
          • Multispectral images
          • Medical 2D images
          • LabelMe
          • LabelStudio
          • Fisheye
          • High Color Depth
        • Videos
          • Supervisely
        • Pointclouds
          • Supervisely
          • .PCD, .PLY, .LAS, .LAZ pointclouds
          • Lyft
          • nuScenes
          • KITTI 3D
        • Pointcloud Episodes
          • Supervisely
          • .PCD, .PLY, .LAS, .LAZ pointclouds
          • Lyft
          • nuScenes
          • KITTI 360
        • Volumes
          • Supervisely
          • .NRRD, .DCM volumes
          • NIfTI
      • Import sample dataset
      • Import into an existing dataset
      • Import using Team Files
      • Import from Cloud
      • Import using API & SDK
      • Import using agent
    • Migrations
      • Roboflow to Supervisely
      • Labelbox to Supervisely
      • V7 to Supervisely
      • CVAT to Supervisely
    • Export
  • 📂Data Organization
    • Core concepts
    • MLOps Workflow
    • Projects
      • Datasets
      • Definitions
      • Collections
    • Team Files
    • Disk usage & Cleanup
    • Quality Assurance & Statistics
      • Practical applications of statistics
    • Operations with Data
      • Data Filtration
        • How to use advanced filters
      • Pipelines
      • Augmentations
      • Splitting data
      • Converting data
        • Convert to COCO
        • Convert to YOLO
        • Convert to Pascal VOC
    • Data Commander
      • Clone Project Meta
  • 📝Labeling
    • Labeling Toolboxes
      • Images
      • Videos 2.0
      • Videos 3.0
      • 3D Point Clouds
      • DICOM
      • Multiview images
      • Fisheye
    • Labeling Tools
      • Navigation & Selection Tools
      • Point Tool
      • Bounding Box (Rectangle) Tool
      • Polyline Tool
      • Polygon Tool
      • Brush Tool
      • Mask Pen Tool
      • Smart Tool
      • Graph (Keypoints) Tool
      • Frame-based tagging
    • Labeling Jobs
      • Labeling Queues
      • Labeling Consensus
      • Labeling Statistics
    • Labeling with AI-Assistance
  • 🤝Collaboration
    • Admin panel
      • Users management
      • Teams management
      • Server disk usage
      • Server trash bin
      • Server cleanup
      • Server stats and errors
    • Teams & workspaces
    • Members
    • Issues
    • Guides & exams
    • Activity log
    • Sharing
  • 🖥️Agents
    • Installation
      • Linux
      • Windows
      • AMI AWS
      • Kubernetes
    • How agents work
    • Restart and delete agents
    • Status and monitoring
    • Storage and cleanup
    • Integration with Docker
  • 🔮Neural Networks
    • Overview
    • Inference & Deployment
      • Overview
      • Supervisely Serving Apps
      • Deploy & Predict with Supervisely SDK
      • Using trained models outside of Supervisely
    • Model Evaluation Benchmark
      • Object Detection
      • Instance Segmentation
      • Semantic Segmentation
      • Custom Benchmark Integration
    • Custom Model Integration
      • Overview
      • Custom Inference
      • Custom Training
    • Legacy
      • Starting with Neural Networks
      • Train custom Neural Networks
      • Run pre-trained models
  • 👔Enterprise Edition
    • Get Supervisely
      • Installation
      • Post-installation
      • Upgrade
      • License Update
    • Kubernetes
      • Overview
      • Installation
      • Connect cluster
    • Advanced Tuning
      • HTTPS
      • Remote Storage
      • Single Sign-On (SSO)
      • CDN
      • Notifications
      • Moving Instance
      • Generating Troubleshoot Archive
      • Storage Cleanup
      • Private Apps
      • Data Folder
      • Firewall
      • HTTP Proxy
      • Offline usage
      • Multi-disk usage
      • Managed Postgres
      • Scalability Tuning
  • 🔧Customization and Integration
    • Supervisely .JSON Format
      • Project Structure
      • Project Meta: Classes, Tags, Settings
      • Tags
      • Objects
      • Single-Image Annotation
      • Single-Video Annotation
      • Point Cloud Episodes
      • Volumes Annotation
    • Developer Portal
    • SDK
    • API
  • 💡Resources
    • Changelog
    • GitHub
    • Blog
    • Ecosystem
Powered by GitBook
On this page
  • Deploy Supervisely agent with GPU on Windows WSL
  • Table of Contents
  • Prerequisites
  • How to install
  • Step 1. Turn on WSL
  • Step 2. Install Windows Terminal
  • Step 3. Install Ubuntu
  • Step 4. Install NVIDIA GPU Driver
  • Step 5. Docker Desktop
  • Step 6. Install NVIDIA Container Toolkit
  • Step 7. Deploy Supervisely Agent

Was this helpful?

  1. 🖥️Agents
  2. Installation

Windows

Everything you need to know about deploying Supervisely agent on Windows WSL

PreviousLinuxNextAMI AWS

Last updated 1 year ago

Was this helpful?

Deploy Supervisely agent with GPU on Windows WSL

This tutorial explains how to deploy the Supervisely agent with GPU support on Windows Subsystem for Linux (WSL). Whether you prefer following a video tutorial or a text-based guide, we've got you covered. In this guide, we'll walk you through the process step by step.

If you're a visual learner and prefer to watch along, check out our comprehensive video guide on deploying the Supervisely agent with GPU on Windows WSL. This guide will take you through each step visually, making it easier to follow along and set up the environment correctly.

Machine Specs used in video guide:

  • Operating System: Microsoft Windows 10 Enterprise (10.0.19045 Build 19045)

  • GPU: NVIDIA GeForce RTX 4090

  • GPU Driver Version: 536.67

  • UBUNTU: 22.04.2 LTS

  • Docker Desktop Version: 4.20.1 (110738)

If you prefer written instructions and a more detailed breakdown, here's how you can deploy the Supervisely agent with GPU on Windows WSL:

Machine Specs used in text guide:

  • Operating System: Microsoft Windows 11 Pro (10.0.22621 Build 22621)

  • GPU: NVIDIA GeForce RTX 3080 Ti (Laptop)

  • GPU Driver Version: 536.67

  • UBUNTU: 22.04.2 LTS

  • Docker Desktop Version: 4.1.1 (69879)

Table of Contents

  • Prerequisites

  • How to install

  • Step 1. Turn on WSL

  • Step 2. Install Windows Terminal

  • Step 3. Install Ubuntu

  • Step 4. Install NVIDIA GPU Driver

  • Step 5. Docker Desktop

  • Step 6. Install NVIDIA Container Toolkit

  • Step 7. Deploy Supervisely Agent

Prerequisites

  • Windows 10 Home, Pro or Enterprise (64-bit edition). Version 1903 or higher, with Build 18362 or higher.

or

  • Windows 11 Home, Pro or Enterprise (64-bit edition).

and

  • Windows Terminal installed.

  • Ubuntu 22.04.2 installed.

  • WSL 2 installed and running.

  • NVIDIA GPU Driver installed.

  • Docker Desktop installed and running.

How to install

Step 1. Turn on WSL

Use windows search to find "Turn Windows features on or off" and open it.

Scroll down and locate "Windows Subsystem for Linux", check the box and restart your computer. If the box is already checked proceed to the next step.

Step 2. Install Windows Terminal

Open Microsoft Store and find Windows Terminal and press Get.

Step 3. Install Ubuntu

Open Microsoft Store and find Ubuntu 22.04.2 and press Get.

Step 4. Install NVIDIA GPU Driver

Go to NVIDIA site and download the latest driver for your GPU.

Fill the form and press Search.

Press Download button and install the driver.

Step 5. Docker Desktop

Download Docker Desktop and install it.

If you have problems running Docker Desktop, check out the possible problems when running Docker Desktop just below.

Possible problems when running Docker Desktop

Docker Desktop - WSL Kernel version too low

Open Windows Terminal and run the following command:

wsl --update

Docker Desktop Windows Hypervision is not present

Restart you computer and go to BIOS settings and enable Virtualization.

Docker Desktop Resources - You don't have any WSL 2 distros installed

In this case you need to update your WSL distro to version 2.

Open Windows Terminal and run the following commands:

  1. Get name of your WSL distro

wsl -l -v

Output:

  NAME                   STATE           VERSION
* Ubuntu-22.04           Running         1
  docker-desktop-data    Running         2
  docker-desktop         Running         2
  1. Update your WSL distribution to version 2

wsl --set-version Ubuntu-22.04 2

Output:

Conversion in progress, this may take a few minutes.
The operation completed successfully.
  1. Set default WSL version to 2

wsl --set-default-version 2

Output:

The operation completed successfully.

Open Docker Desktop and go to Settings -> Resources -> WSL integration. Check "Enable integration with my default WSL distro" and "Ubuntu 22.04" and press Apply & Restart as shown below.

Open Docker Desktop and go to Settings -> Docker engine and add runtime to the docker config file as shown below and press Apply & Restart:

{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

Or you can copy and paste merged config file from here:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "runtimes": {
    "nvidia": {
      "path": "/usr/bin/nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}

Step 6. Install NVIDIA Container Toolkit

Open Ubuntu terminal via Windows terminal

Install NVIDIA Container Toolkit repository for your distribution by running the following command:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

Update the APT repository cache and install the nvidia-container-toolkit package:

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker

Restart Docker Desktop.

Enter the following command to verify that the installation was successful:

sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:12.2.0-runtime-ubuntu22.04 nvidia-smi

If you have problems running this container, try upgrading CUDA Toolkit to latest version.

After docker image is pulled, you will see nvidia-smi output.

Step 7. Deploy Supervisely Agent

Deploy Supervisely Agent with GPU support on Windows WSL.

Open Supervisely instance and go to the Start -> Team Cluster page and press "Add" button

Select "Supervisely agent".

In the modal window go to "advanced settings" and check "Use nvidia runtime" option to enable GPU support.

Copy the instructions command and run it in the Ubuntu terminal.

After the agent docker image is pulled you will see this message in the terminal. It means that agent is successfully deployed.

Go to the Team Cluster page and open your agent, check that agent is running. That's it! Now you can run GPU tasks on your Windows machine.

Poster
Turn Windows features on or off
Windows Subsystem for Linux
Windows Terminal
Ubuntu 22.04.2
NVIDIA Search
NVIDIA Download
Docker Desktop Resources
Docker engine
Ubuntu Windows Terminal
NVIDIA SMI
Add Agent
Select Agent
Agent Settings
Agent Instructions
Agent Instructions
Agent Running
Docker Desktop WSL Kernel version too low
Docker Desktop Windows Hypervisor is not present
Docker Desktop Resources - You don't have any WSL 2 distros installed
Video guide