apptainer/singularity

Easily run Singularity containers on Microsoft Windows

robertlugg opened this issue ยท 8 comments

Expected behavior

This is a high-level feature request. It would be useful to have an easy way to run Linux applications on MS Windows. I don't believe there are any good solutions today.

This is a very naive request but it seems like if sylabs/singularity#2675 were possible, then something like I request would also be possible.

Existing behavior

The typical way of doing this would be to install a Virtual Machine with a Linux distro. This works but suffers from the same trade-offs that have always existed between VMs and containers.

Another option would be to use something like cygwin and recompile, but that isn't always possible (and certainly isn't easy).

I believe @mem has had some success using Windows Subsystem for Linux 2. Perhaps he can follow-up here?

Screenshot from 2019-10-23 12-48-13

:-) I think I spy Lolcow in Ubuntu in Singularity in Ubuntu in Windows in CentOS there!

mem commented

Correct.

Right now if you enroll in the preview and enable Windows Subsystem for Linux 2 as shown in the screenshot, you can build and run singularity in the resulting environment. This has more detailed steps: https://zillowtech.com/install-wsl2-windows-10.html/amp

Amazing! Can't wait till WSL2 adds GPU support so that I can replace my dual boot for a full windows system which uses singularity.

Looking around on the net it appears that WSL2 is quite likely to be in a stable (non-insider) release in the first half of 2020.

Amazing! Can't wait till WSL2 adds GPU support so that I can replace my dual boot for a full windows system which uses singularity.

GPU support in Singularity is unlikely to work with WSL2 unless some significant developments happen. Containers using --nv or --rocm to access a GPU expect direct access to the GPU device/driver via /dev. The only way to do this on a virtualized OS is currently to pass-through a card completely (do not use it on the host at all), or employ technology such as NVIDIA vGPU at the hypervisor level. vGPU is not something that is supported for consumer cards - it is aimed at VDI infrastructure etc.

@dctrud Thanks for the clarification.

As WSL2 is now available in release builds of Windows 10, and Singularity is operational within it I'm going to close this issue.