BrunoScience / BrunoScience.github.io

The best that most of us can hope to achieve in science is simply to misunderstand at a deeper level.
https://BrunoScience.github.io
Apache License 2.0
0 stars 1 forks source link

CUDA on WSL #22

Open MarkBruns opened 1 year ago

MarkBruns commented 1 year ago

Why use NVIDIA GPUS on WSL? Well, using Windows Subsystem for Linux on a multi-gpu crypto mining set up or even a gaming rig might be the most affordable way to learn how to explore different things in AI.

Windows Subsystem for Linux (WSL) lets developers run a GNU/Linux environment -- including most command-line tools, utilities, and applications -- while still having ready access to Windows-only applications, eg CAD tools. WSL runs directly on Windows, unmodified, without the overhead or difficulties of a more traditional virtual machine or dual-boot setup.

It might have been sort of edgy a few years ago, but as developer acceptance has expanded, the WSL paradigm is finally getting to be somewhat mature ... there is also a community of people developing tools/processes, eg installing Arch Linux / BlackArch tools on WSL 2 .

The primary difference between WSL 1 and WSL 2 is sort of huge. WSL 2 uses of an actual Linux kernel inside a managed VM, which gives support for full low-level [Windows] system call compatibility and allows for direct performance monitoring across both the Linux and Windows operating systems.

NVIDIA provides a wide variety of proven machine learning solutions that are known to work with numerous industry frameworks. We leverage our extensive AI experience and domain knowledge to deliver solutions that advance the boundaries of human intelligence. GPUs have a robust history of accelerating AI applications for both training and inference. If you are a Microsoft Windows user who wants to develop GPU-accelerated Linux AI applications, NVIDIA’s rich AI and Data Science software ecosystem is now accessible through CUDA on WSL.

NVIDIA continues to work on new enhancements to WSL 2 ... of course, there are there are minor bottlenecks and constraints ... CUDA applications relying on OpenGL will not work ... developers who require profiling support [for GPU development] are encouraged to find workarounds or alternatives in the meanwhile ... GPU utilization, active compute process are some queries that are not yet supported. Modifiable state features (ECC, Compute mode, Persistence mode) will not be supported ... this means that developers will probably have to whittle their own alternatives possibly something from open source linux blackarch monitoring tools