GPU computing

From BOINC

Most computers are equipped with a Graphics Processing Unit (GPU) that handles their graphical output, including the 3-D animated graphics used in computer games. The computing power of GPUs has increased rapidly, and they are now often much faster than the computer's main processor, or CPU.

Some BOINC-based projects have applications that run on GPUs. These applications run from 10X to 200X faster than the CPU-only version depending on the application, CPU and GPU in question. We urge BOINC participants to use them if possible. Just follow these instructions:

Check whether your computer has a capable GPU

  • Identify the model name of your GPU.
    • On Windows, use GPU-Z found here. (note: The listed capabilities of the card may be inaccurate on multi GPU systems.)
    • On linux, in a console use: lspci | grep VGA
    • On Macintosh, Select About this Mac from the Apple menu, then click More Info. Under Hardware select Graphics/Displays.
  • Note the Adapter Type and Memory Size.
  • To find out if your NVIDIA GPU is compatible: check NVIDIA's list of CUDA-enabled products. If your GPU is listed here and has at least 256MB of RAM, it's compatible.
  • ATI GPUs: you need a platform based on the AMD R600 or AMD R700 GPU or later. R600 GPUs are found on ATI Radeon HD2400, HD2600, HD2900 and HD3800 graphics board. R700 GPUs are found on HD4350 to HD4890 graphics boards. Check ATI's list of OpenCL-enabled products to see which GPUs use OpenCL.
  • Intel GPUs: Currently Ivy Bridge and Haswell are the only Intel CPUs with an OpenCL capable Intel GPU, however future embedded GPUs may also support OpenCL. You will need to install Intel graphics drivers to enable OpenCL support. It's also needed to add a monitor or VGA dummy-plug before the Intel GPU is recognized.
  • AMD APUs: The AMD Kaveri, Brazos, Kabini and Lynx platforms -Zacate and Kabini for tablet and embedded products and Llano, Trinity and Richland APUs for desktops and laptops- are capable of doing GPU work on their own.

Note: Some projects may have additional requirements. Check with the website of your project of interest for more details.

Get the latest BOINC software

Warning: On Windows do not install BOINC in Protected Access Execution (PAE) mode aka service mode (6.4.5 - 7.0.28) or Service Install mode (7.0.64 and above). If you do, BOINC will not be able to detect or use your GPU.
BOINC can correctly detect and use GPUs on Macs when running as a service or daemon.
On Linux you can install BOINC as a service daemon and on certain distros configure X-server to allow BOINC access to the GPU.

Get the latest driver

Run BOINC; In BOINC up till 6.10, look at the Messages. In BOINC 6.12 and later, check Event Log (CTRL+SHIFT+E on Advanced view)). If BOINC reports a GPU, your current driver might be okay, however some projects may require newer drivers because they use features only found in later versions.

You can get the latest video drivers from:

Attach to projects with GPU applications

Projects with NVIDIA applications:

  • Collatz Conjecture (Windows and Mac OS X on Intel)
  • DistrRTgen (Windows, Linux 64bit)
  • Einstein@home (Linux, Windows and Mac OS X on Intel)
  • GPUgrid.net (Linux 64bit and Windows 64bit or 32bit, requires a video card with Compute Capability 1.3 (CC1.3) or higher)
  • Milkyway@home (Double precision GPU required, so compute capability 1.3 or higher, meaning a Geforce GTX 260 or better) (Linux 64bit and Windows)
  • Moo! (Driver 256.00 or better, Compute Capability 1.0 or higher, Minimum device memory 384 MB - http://moowrap.net/forum_thread.php?id=16)
  • PrimeGrid (Proth Prime Search (Sieve), Linux 32bit, Linux 64bit Windows and Mac OS X on Intel; Cullen/Woodall Prime Search (Sieve), Linux 32bit, Linux 64bit, Windows and Mac OS X on Intel)
  • SETI@home (Windows and Linux only)

Projects with ATI/AMD applications:

  • Collatz Conjecture (Windows, Windows 64bit, Linux 64bit)
  • DNETC@Home (Windows and Linux 32bit) Project retired
  • Einstein (Linux, Windows on Intel; Mac OS X under active development)
  • Milkyway@home (OpenCL support and Double precision GPU required, so a Radeon 48xx, 47xx, 58xx, 69xx, FirePro V87xx, FireStream 92xx) (Windows only)
  • Moo! (Driver v10.4 or later, ATI Runtime (not older AMD), Minimum device memory 250 MB - http://moowrap.net/forum_thread.php?id=16)
  • PrimeGrid (Proth Prime Search (Sieve), Linux 32bit, Linux 64bit and Windows)
  • SETI@home (Windows and Linux only)

You're done! Soon you'll be racking up big credit numbers. Of course, you can attach to other projects too; BOINC will keep both your CPU and GPU busy.

Things to be aware of

  • By default, your GPU will be used only when you're not using the computer. If you want to use the GPU all the time, you must change your preferences.
  • You can configure BOINC to not use GPUs when particular applications are running.
  • You can configure BOINC to not use specific GPUs on a multi-GPU system
  • NVIDIA applications on the Mac require NVIDIA driver version 3.0 and Mac OS X version 10.5.6 (Darwin version 9.6.0) or later. For information on downloading and installing CUDA, please see the ReadMe file included with the BOINC Installer for the Mac.
  • Some newer MacBooks have dual GPUs with automatic switching. Be aware that using the NVIDIA or ATI/AMD GPU while running on batteries may cause faster battery drain; this of course is not an issue when running on AC power.