General Purpose GPU

From BOINC Wiki
Revision as of 14:02, 10 February 2017 by Jord (talk | contribs) (adding FAQ)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The General-purpose computing on graphics processing units, or GPGPU is the technical name for your GPU when it's used to do OpenCL or CUDA calculations. Parts of the hardware inside the GPU can be used for rendering graphics, but also to do intricate calculations that would normally be done on the CPU. The speed increase of using the GPGPU comes because it's got several tens to thousands of rendering cores that are simultaneously used to do the calculations with.

A task from a project is split up in little chunks that all the processors in the GPU calculate in parallel. Because of this, the processing speeds up tremendously. A task calculated on the GPU can be done in a fraction of the time it takes on the CPU. A task that takes multiple hours on the CPU can be run in just half an hour on a present day last generation Nvidia GTX 1080 or AMD RX 480 GPU, depending on project and data of course.

Not all projects are capable of using the GPU though, be it because their (proprietary) code can't be translated to OpenCL yet, or because their data is too big to be run on a GPU. Which is why a project such as ClimatePrediction.net still uses the CPU.

Up till BOINC 6.2 the GPU was only used for showing of the screen saver, it was BOINC 6.4 that brought us the first steps into using the GPGPU and use the Nvidia Geforce GTX 8800 to do CUDA calculations at Seti@Home. Developers from Nvidia helped the developers of BOINC and Seti to port over the CPU application and get most of the bugs out. A couple of us briefed the developers on the bugs found by the public. It was fun & hectic times there in November-December 2008.

BOINC 6.4.5 had the first CUDA on Nvidia GPUs.
BOINC 6.10.35 had ATI CAL support.
BOINC 7.0.28 had OpenCL support for AMD/ATI GPUs and Nvidia GPUs.
BOINC 7.0.42 had OpenCL support on Intel HD Graphics 2500 and 4000 GPUs (built into Ivy Bridge iCore type CPUs).
BOINC 7.2.20 had OpenCL support for Intel and AMD CPUs.
BOINC 7.4.9 had OpenCL support for devices other than Intel, Nvidia or AMD GPUs and CPUs (e.g. Android).