Message boards : Wish list : Make Quantum Chemistry working on WSL
Author | Message |
---|---|
Over the weekend I've been playing around with Windows WSL (Windows Subsystem for Linux) using Ubuntu 24.04. I managed to get BOINC running and detect NVIDIA GPU. Einstein's GPU tasks (BRP7) ran without any problems and were validated successfully. Unfortunately, Quantum Chemistry tasks fail to compute under those conditions. They threw an error in less than a minute. | |
ID: 61916 | Rating: 0 | rate: / Reply Quote | |
my suggestion is: instead of going the WLS detour, QC should be made available for Windows. | |
ID: 61917 | Rating: 0 | rate: / Reply Quote | |
Been explained elsewhere here multiple times. The science app uses external libraries that DON'T HAVE ANY Windows compiled libraries, only Linux ones. | |
ID: 61918 | Rating: 0 | rate: / Reply Quote | |
my suggestion is: instead of going the WLS detour, QC should be made available for Windows. its kind of out of the control of the GPUGrid devs. one piece of required software for the app is not available to Windows. the devs do not maintain this 3rd party software so they cannot just make it work. they did release a code bounty for anyone capable to port it to Windows. they WANT to have the app available for Windows, but they do not have the ability. https://github.com/gpugrid/gpugrid/issues/1 the fact that QC doesnt work under WSL is likely a limitation of the Windows nvidia driver. there are some features that only work on the linux driver, and WSL actually uses the Windows driver shared from the Windows environment and not the full Linux driver. ____________ | |
ID: 61919 | Rating: 0 | rate: / Reply Quote | |
Thanks Keith for pointing to the relevant topic. When I did search for "WSL" I wasn't aware that a regular search on this forum is limited to posts that are no older than 30 days. Should have clicked on the advanced one, my bad. the fact that QC doesnt work under WSL is likely a limitation of the Windows nvidia driver. there are some features that only work on the linux driver, and WSL actually uses the Windows driver shared from the Windows environment and not the full Linux driver. Let's hope that something will change in the future on the WSL/NVIDIA driver end. | |
ID: 61920 | Rating: 0 | rate: / Reply Quote | |
Thanks Keith for pointing to the relevant topic. When I did search for "WSL" I wasn't aware that a regular search on this forum is limited to posts that are no older than 30 days. Should have clicked on the advanced one, my bad. WSL runs native Linux apps 'in theory', yes, and for the most part you would be correct. For example, the ATM Linux app runs flawlessly on WSL. However, WSL is translating native linux systemcalls into Windows systemcalls - unlike a VM which runs as if it were a baremetal linux install - and therein lies the difference between 'in theory' and 'in practice'. The more deeply an app leverages very specific features of Linux in order to squeeze the last drop of performance from the OS, the more you risk running into cases where a linux syscall doesn't have a 100% windows-supported implementation. Speaking from experience, in trying to get the QC 3rd-party libraries compiled for windows, I can assure you that these math libraries scrape the absolute bottom of the barrel of what linux can do. As well as leveraging just about every trick in the C99 standard that is not supported by Visual C++. So that is why they are not supported by WSL, and that is why they're not easily crosscompiled for windows. Else I would have cashed in that bounty long ago - believe my I tried ;-) | |
ID: 61921 | Rating: 0 | rate: / Reply Quote | |
Thanks Keith for pointing to the relevant topic. When I did search for "WSL" I wasn't aware that a regular search on this forum is limited to posts that are no older than 30 days. Should have clicked on the advanced one, my bad. great reply, thanks for the added context/info. I was wondering if you had ever tried to port things! ____________ | |
ID: 61922 | Rating: 0 | rate: / Reply Quote | |
Boinc are implementing Docker for Windows (with access to gpu) | |
ID: 62002 | Rating: 0 | rate: / Reply Quote | |
Boinc are implementing Docker for Windows (with access to gpu) wont matter. Docker for Windows still uses WSL as the backend and the same limitations apply. It wont change the situation with Quantum Chem apps. ____________ | |
ID: 62004 | Rating: 0 | rate: / Reply Quote | |
Boinc are implementing Docker for Windows (with access to gpu) Are you sure about that? VM's can go bare-metal, at least in principle. Did you read this somewhere? | |
ID: 62007 | Rating: 0 | rate: / Reply Quote | |
Boinc are implementing Docker for Windows (with access to gpu) I don't know exactly what you mean by "VMs can go bare-metal". that sounds contradictory to me since a VM is inherently NOT bare-metal. Docker uses the base OS/kernel to run on and does not provide a complete environment within the docker itself. So for a Linux docker, you need a Linux OS to run on. On windows, you do this with WSL, there's not really a way around that. if you have a Windows-based docker, you can run that directly on your base Windows OS. when i said that the docker setup in BOINC wont matter, I meant in regards to Quantum Chemistry working. you found the issues trying to run QC in WSL due to the supported features in the Windows Nvidia GPU driver. I can't see how that will be any different when using Docker, since the container is still running on WSL. https://docs.docker.com/desktop/features/gpu/ Currently GPU support in Docker Desktop is only available on Windows with the WSL2 backend. ____________ | |
ID: 62008 | Rating: 0 | rate: / Reply Quote | |
I meant that a proper VM can connect directly to the underlying hardware without going through a host OS. VMWare for example doesn't need WSL to run a Linux VM. I'm not so familiar with Docker, so wasn't aware that this does use the host OS. So if that is the case, then you're right, it likely won't help. | |
ID: 62009 | Rating: 0 | rate: / Reply Quote | |
Message boards : Wish list : Make Quantum Chemistry working on WSL