Assigning individual GPUs to WSL / docker instances

Did anyone manage to assign individual GPUs to WSL or Docker (WSL backend) instances?

No matter what I try, my instances always see all available GPUs from the Host.

A few things I tried (besides other combinations):

  • docker run --rm --gpus device=0 ubuntu nvidia-smi
  • docker run --rm --gpus device=0 -e NVIDIA_VISIBLE_DEVICES=0 ubuntu nvidia-smi
  • docker run --rm --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0 ubuntu nvidia-smi

Nvidia-smi always returns a list of all GPUs. Any ideas?