Slashdot Mirror


Ask Slashdot: Can Linux Run a GPU-Computing Application Written For Windows?

dryriver writes: I have been told that Linux can run Windows software using Wine or perhaps a VM. What happens if that Windows software is a GPU-computing application -- accessing the GPU through HLSL/GLSL/CUDA/OpenCL or similar interfaces? Can Wine or other solutions run that software at a decent speed under Linux? Or is GPU-computing software written for the Windows platform unsuitable for use -- emulated or otherwise -- under Linux? This sounds like one of those cases where there's a theoretical answer and then your own real-world experiences. So leave your best answers in the comments. Can Linux run a GPU-computing application that's written for Windows?

6 of 117 comments (clear)

  1. yes by qume · · Score: 5, Informative

    PCI express passthrough is the term to search for.

    A good writeup:

    https://www.reddit.com/r/pcmasterrace/comments/2z0evz/gpu_passthrough_or_how_to_play_any_game_at_near/

  2. It worked for F@H by Ken_g6 · · Score: 5, Informative

    It used to be there was no Linux Folding@Home application. But there was a way to run the Windows CUDA application on Linux, and I did for a couple of years.

    Here's a guide for that: http://www.overclockers.com/de...

    --
    (T>t && O(n)--) == sqrt(666)
  3. But how fast? by whoever57 · · Score: 4, Interesting

    Even if it runs under something like WINE, how fast does it run?

    I would assume that if you need something that uses CUDA, performance is important.

    --
    The real "Libtards" are the Libertarians!
  4. Who cares by Billly+Gates · · Score: 3, Insightful

    Run Windows. I never have used wine. Linus himself said if you need to run win32 then run host OS. Linus used XP for PowerPoint.

    How would you feel if I asked you if I could run Ubuntu on Windows 10? I could but why? It's a geek toy. At work your job is to put ideology aside and to make your bosses happy by keeping it up.

    Will running Windows Server really be that horrible for 1 server?

    But if I did have to run Linux I could try KMS with GPU pass thru but you risk downsides on now 2 platforms and bugs for now KMs, Linux, and windows and a performance hit. That won't guarantee higher uptime.

  5. Re: no by saloomy · · Score: 4, Insightful

    You can absolutely run it if a VM is an accepted solution. The things you have to do:
    1. Use a processor that supports virtualization
    2. Have a second GPU for the host (in a server, usually the Melanox GPU).
    3. Use a hypervisor that can pass through PCI ports and pass in the nVidia Cuda enabled GPU (like an nVidia Tesla M60 card)
    4. Run your application in the VM

    The real question is: why does the underlying system have to be Linux? Do you want to Hypervise it for HA? Without knowing the why's behind your request, it's hard to say whether you can or not. Is it absolutely possible? Yes. Is it the best approach? Maybe. Is it the most efficient approach for your high-spec'd application? Probably not.

  6. If you don't need double precision... by Roger+W+Moore · · Score: 4, Informative

    You are absolutely right that you can do this but you may need to patch the hypervisor if you use a standard, retail nVidia card. Nvidia's drivers for "gamer" GPUs check to see whether they are running in a virtual environment and then shutdown if they think they are. There is a patch for KVM which hides the virtual environment from the nVidia driver so that it will run.

    Alternatively if you need double precision or don't mind spending 5-10 times the cost of a gamer card you can purchase a Tesla GPU since the nVidia driver for these works fine in a VM without patching.