boinc projects and GPU computing

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.

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 Stream-enabled products and ATI's list of OpenCL-enabled products.
  • 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 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.
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; otherwise graphical updates become jerky. 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.
  • If you have questions or problems related to GPUs, check the BOINCFAQ.
  • 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. seehttp://developer.download.nvidia.com/compute/cuda/3_0/docs/GettingStartedMacOS.pdf
  • Some newer MacBooks have dual GPUs with automatic switching. BOINC won't detect the NVIDIA or ATI/AMD GPU unless it is currently selected. You can force selection either permanently or temporarily using a third-party utility. But be aware that forcing the use of the NVIDIA or ATI/AMD GPU may cause faster battery drain; this of course is not an issue when running on AC power.