Difference between revisions of "OpenCL"
(Adding FAQ 506 - may miss links) |
(removing time from table) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | What is OpenCL? | + | '''What is OpenCL?''' |
− | Since the success of CUDA & Stream/CAL, everyone with a GPU has been waiting with bated breath for the next best thing: OpenCL, or Open Computing Language. | + | Since the success of [http://boinc.mundayweb.com/wiki/index.php?title=Nvidia_CUDA_%26_ATI_Stream_(CAL)_FAQ CUDA & Stream/CAL], everyone with a GPU has been waiting with bated breath for the next best thing: OpenCL, or Open Computing Language. |
While OpenCL can be compared to CUDA or Stream/CAL, in that it will runs a program on the CPU that tells the GPU to do all the calculations, it can also be different, by using all computational hardware in your computer. This isn't yet supported in BOINC, maybe with a future version. | While OpenCL can be compared to CUDA or Stream/CAL, in that it will runs a program on the CPU that tells the GPU to do all the calculations, it can also be different, by using all computational hardware in your computer. This isn't yet supported in BOINC, maybe with a future version. | ||
Line 12: | Line 12: | ||
− | Supported operating systems? | + | '''Supported operating systems?''' |
− | + | * Windows XP and above. | |
− | + | * Linux openSUSE™ 11.2 (32-bit/64-bit), Ubuntu® 9.10 (32-bit/64-bit), Red Hat® Enterprise Linux® 5.4 (32-bit/64-bit) | |
− | + | * Macintosh OS X 10.6 (Snow Leopard) and above. | |
− | Supported GPUs | + | '''Supported GPUs''' |
− | Nvidia: According to their website, all CUDA capable GPUs since 2006 have OpenCL support. I won't dispute them. | + | ''Nvidia:'' According to [http://www.nvidia.com/object/cuda_gpus.html their website], all CUDA capable GPUs since 2006 have OpenCL support. I won't dispute them. |
− | ATI/AMD: Essentially all GPUs from the 4350 onwards have some sort of OpenCL support. For a comprehensive list, check their SDK page. | + | ''ATI/AMD:'' Essentially all GPUs from the 4350 onwards have some sort of OpenCL support. For a comprehensive list, check [http://developer.amd.com/tools-and-sdks/archive/legacy-cpu-gpu-tools/ their SDK page]. |
− | Intel: The Intel GPU built into the Sandy Bridge CPU will eventually have OpenCL support. All Intel GPUs hereafter will have OpenCL support. | + | ''Intel:'' The Intel GPU built into the Sandy Bridge CPU will eventually have OpenCL support. All Intel GPUs hereafter will have OpenCL support. |
− | Supported CPUs | + | |
+ | '''Supported CPUs''' | ||
Any x86 and x86-64 based CPU with at least SSE3 will work. | Any x86 and x86-64 based CPU with at least SSE3 will work. | ||
− | |||
− | According to Khronos, OpenCL is developed and supported by: 3DLABS, Activision Blizzard, AMD, Apple, ARM, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, Fujitsu, GE, Graphic Remedy, HI, IBM, Intel, Imagination Technologies, Los Alamos National Laboratory, Motorola, Movidius, Nokia, NVIDIA, Petapath, QNX, Qualcomm, RapidMind, Samsung, Seaweed, S3, ST Microelectronics, Takumi, Texas Instruments, Toshiba and Vivante. | + | '''Other processors?''' |
+ | |||
+ | According to [http://www.khronos.org/opencl/ Khronos], OpenCL is developed and supported by: ''3DLABS, Activision Blizzard, AMD, Apple, ARM, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, Fujitsu, GE, Graphic Remedy, HI, IBM, Intel, Imagination Technologies, Los Alamos National Laboratory, Motorola, Movidius, Nokia, NVIDIA, Petapath, QNX, Qualcomm, RapidMind, Samsung, Seaweed, S3, ST Microelectronics, Takumi, Texas Instruments, Toshiba and Vivante.'' | ||
So anything these developers produce that has a processing unit in your PC is an option. | So anything these developers produce that has a processing unit in your PC is an option. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | + | '''Projects''' |
− | ** | + | |
+ | * Albert@Home (Einstein test project) ** | ||
+ | * Seti@Home * (through 3rd party Lunatics apps) | ||
+ | * Seti Beta * | ||
+ | * Milkyway@Home ** | ||
+ | * Collatz Conjecture ** | ||
+ | * POEM | ||
− | Is OpenCL comparable to CUDA or CAL? | + | * Windows only, Linux and Macintosh require 3rd party applications or are not available. |
+ | ** Macintosh GPU apps available. | ||
+ | |||
+ | |||
+ | '''Is OpenCL comparable to CUDA or CAL?''' | ||
Not completely. With the former technologies, an application would run on the CPU which would translate whatever was to do to kernels for the shader processors or stream processors in the GPU to work with. At that time the GPU wouldn't be able to do much of anything else, including showing you graphics output in real time, as the GPU was busy doing these intricate calculations. Using graphics, streaming video, a screen saver? until recently all that wasn't possible on CUDA/Brook+, although newer GPUs and more memory on the cards make it now possible to do just that. | Not completely. With the former technologies, an application would run on the CPU which would translate whatever was to do to kernels for the shader processors or stream processors in the GPU to work with. At that time the GPU wouldn't be able to do much of anything else, including showing you graphics output in real time, as the GPU was busy doing these intricate calculations. Using graphics, streaming video, a screen saver? until recently all that wasn't possible on CUDA/Brook+, although newer GPUs and more memory on the cards make it now possible to do just that. | ||
Line 56: | Line 61: | ||
− | Are there BOINC projects yet that have an application? | + | '''Are there BOINC projects yet that have an application?''' |
+ | |||
A couple of projects are testing OpenCL applications, some others have them already in full production. | A couple of projects are testing OpenCL applications, some others have them already in full production. | ||
− | + | * Seti@Home is testing OpenCL applications for Astropulse and Multibeam. | |
For more info, search their Number Crunching forums for mention of the Lunatics optimized applications. (Until Seti v7 apps come out). | For more info, search their Number Crunching forums for mention of the Lunatics optimized applications. (Until Seti v7 apps come out). | ||
− | + | * Einstein has a test project, called Albert@Home that tests their BRP4 ATI OpenCL application on Windows, Macintosh and Linux! | |
− | + | * Primegrid is testing an ATI OpenCL application on Windows, Linux and Macintosh (Proth Prime Search (Sieve)). | |
− | + | * Milkyway@Home has released all their favorite applications in OpenCL 1.1 format. | |
− | + | * Collatz Conjecture has an OpenCL application for Mac OS X 10.5 or later and are beta testing apps for Windows and Linux. | |
+ | |||
+ | |||
+ | |||
+ | '''Do I need to install anything to be able to run OpenCL?''' | ||
+ | * In the case of Nvidia GPUs, you'll need an up-to-date driver. | ||
− | + | * In the case of ATI/AMD GPUs, you'll need an up-to-date APP driver. | |
− | + | * In the case that your GPU cannot support the APP driver, for whatever reason, you'll need to install the [http://developer.amd.com/gpu/atistreamsdk/pages/default.aspx ATI Stream SDK] for Windows and Linux, since it contains specific libraries that are needed. You will also require [http://support.amd.com/us/gpudownload/Pages/index.aspx Catalysts 10.4] or above. The SDK page will tell you which Catalysts are required for the latest SDK. | |
− | |||
− | |||
So far: | So far: | ||
− | + | ||
− | + | * SDK v2.1 needed 10.4 | |
− | + | * SDK v2.2 needed 10.7 | |
− | + | * SDK v2.3 needed 10.9 | |
− | + | * SDK v2.4 needed 11.3/11/4 | |
+ | * SDK v2.5 needed 11.7 | ||
You will need to install this SDK as AMD does not allow that projects distribute the needed libraries on their own yet. | You will need to install this SDK as AMD does not allow that projects distribute the needed libraries on their own yet. | ||
Line 86: | Line 96: | ||
− | Are there any tools or demos I can use to test with? | + | '''Are there any tools or demos I can use to test with?''' |
Of course there are. | Of course there are. | ||
− | There is one very cool Tool, called GPU Caps Viewer with which you can not only test the OpenGL part of your GPU, but also the OpenCL part of your GPU and CPU. Various demos are included in the application. | + | There is one very cool Tool, called [http://www.ozone3d.net/gpu_caps_viewer/ GPU Caps Viewer] with which you can not only test the OpenGL part of your GPU, but also the OpenCL part of your GPU and CPU. Various demos are included in the application. |
On top of that it gives a lot of information about your GPU and CPU, more than CPUZ and GPUZ can give together! For instance, it shows the actual OpenCL compute capability of your hardware. | On top of that it gives a lot of information about your GPU and CPU, more than CPUZ and GPUZ can give together! For instance, it shows the actual OpenCL compute capability of your hardware. | ||
− | Where can I read up on this technology? | + | '''Where can I read up on this technology?''' |
Start on Guru3D's site. | Start on Guru3D's site. | ||
Further information (more technical) can be found on: | Further information (more technical) can be found on: | ||
− | |||
− | |||
− | |||
+ | - [http://developer.amd.com/gpu/atistreamsdk/pages/default.aspx AMD] | ||
+ | |||
+ | - [http://www.nvidia.com/object/cuda_opencl_new.html Nvidia] | ||
+ | |||
+ | - [http://www.khronos.org/opencl/ Khronos] | ||
+ | |||
+ | |||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | ! Original writer | ||
+ | ! Original FAQ | ||
+ | ! Date | ||
+ | |- | ||
| Jorden | | Jorden | ||
− | | | + | | [http://boincfaq.mundayweb.com/index.php?language=1&view=506 506] |
− | + | | 05-12-2009 | |
− | | | + | |- |
− | + | |} | |
− | | | ||
− | |||
− | |||
− | |||
− | | |
Latest revision as of 16:14, 29 August 2016
What is OpenCL?
Since the success of CUDA & Stream/CAL, everyone with a GPU has been waiting with bated breath for the next best thing: OpenCL, or Open Computing Language.
While OpenCL can be compared to CUDA or Stream/CAL, in that it will runs a program on the CPU that tells the GPU to do all the calculations, it can also be different, by using all computational hardware in your computer. This isn't yet supported in BOINC, maybe with a future version.
This means that it'll run on all your CPUs, all your GPUs and whatever else you may have lurking inside your box that does independent calculations, such as Network Processing Units.
Both Nvidia and ATI/AMD have by now released drivers for the most popular GPUs, to have them support OpenCL. Nvidia runs behind on driver maturity though. It'll be hit and miss for their drivers for a while yet.
The new BOINC 7 (tested as 6.13) has OpenCL support for ATI/AMD and Nvidia GPUs only.
Supported operating systems?
- Windows XP and above.
- Linux openSUSE™ 11.2 (32-bit/64-bit), Ubuntu® 9.10 (32-bit/64-bit), Red Hat® Enterprise Linux® 5.4 (32-bit/64-bit)
- Macintosh OS X 10.6 (Snow Leopard) and above.
Supported GPUs
Nvidia: According to their website, all CUDA capable GPUs since 2006 have OpenCL support. I won't dispute them.
ATI/AMD: Essentially all GPUs from the 4350 onwards have some sort of OpenCL support. For a comprehensive list, check their SDK page.
Intel: The Intel GPU built into the Sandy Bridge CPU will eventually have OpenCL support. All Intel GPUs hereafter will have OpenCL support.
Supported CPUs
Any x86 and x86-64 based CPU with at least SSE3 will work.
Other processors?
According to Khronos, OpenCL is developed and supported by: 3DLABS, Activision Blizzard, AMD, Apple, ARM, Broadcom, Codeplay, Electronic Arts, Ericsson, Freescale, Fujitsu, GE, Graphic Remedy, HI, IBM, Intel, Imagination Technologies, Los Alamos National Laboratory, Motorola, Movidius, Nokia, NVIDIA, Petapath, QNX, Qualcomm, RapidMind, Samsung, Seaweed, S3, ST Microelectronics, Takumi, Texas Instruments, Toshiba and Vivante.
So anything these developers produce that has a processing unit in your PC is an option.
Projects
- Albert@Home (Einstein test project) **
- Seti@Home * (through 3rd party Lunatics apps)
- Seti Beta *
- Milkyway@Home **
- Collatz Conjecture **
- POEM
* Windows only, Linux and Macintosh require 3rd party applications or are not available. ** Macintosh GPU apps available.
Is OpenCL comparable to CUDA or CAL?
Not completely. With the former technologies, an application would run on the CPU which would translate whatever was to do to kernels for the shader processors or stream processors in the GPU to work with. At that time the GPU wouldn't be able to do much of anything else, including showing you graphics output in real time, as the GPU was busy doing these intricate calculations. Using graphics, streaming video, a screen saver? until recently all that wasn't possible on CUDA/Brook+, although newer GPUs and more memory on the cards make it now possible to do just that.
OpenCL is more comparable to OpenGL (the Open Graphics Language), as it can not only do intricate calculations, but also still show you your desktop in real time, show streaming video and show real-time calculated graphics at the same time.
Are there BOINC projects yet that have an application?
A couple of projects are testing OpenCL applications, some others have them already in full production.
- Seti@Home is testing OpenCL applications for Astropulse and Multibeam.
For more info, search their Number Crunching forums for mention of the Lunatics optimized applications. (Until Seti v7 apps come out).
- Einstein has a test project, called Albert@Home that tests their BRP4 ATI OpenCL application on Windows, Macintosh and Linux!
- Primegrid is testing an ATI OpenCL application on Windows, Linux and Macintosh (Proth Prime Search (Sieve)).
- Milkyway@Home has released all their favorite applications in OpenCL 1.1 format.
- Collatz Conjecture has an OpenCL application for Mac OS X 10.5 or later and are beta testing apps for Windows and Linux.
Do I need to install anything to be able to run OpenCL?
- In the case of Nvidia GPUs, you'll need an up-to-date driver.
- In the case of ATI/AMD GPUs, you'll need an up-to-date APP driver.
- In the case that your GPU cannot support the APP driver, for whatever reason, you'll need to install the ATI Stream SDK for Windows and Linux, since it contains specific libraries that are needed. You will also require Catalysts 10.4 or above. The SDK page will tell you which Catalysts are required for the latest SDK.
So far:
- SDK v2.1 needed 10.4
- SDK v2.2 needed 10.7
- SDK v2.3 needed 10.9
- SDK v2.4 needed 11.3/11/4
- SDK v2.5 needed 11.7
You will need to install this SDK as AMD does not allow that projects distribute the needed libraries on their own yet.
Macintosh OS X 10.6 has these libraries built in.
Are there any tools or demos I can use to test with?
Of course there are.
There is one very cool Tool, called GPU Caps Viewer with which you can not only test the OpenGL part of your GPU, but also the OpenCL part of your GPU and CPU. Various demos are included in the application.
On top of that it gives a lot of information about your GPU and CPU, more than CPUZ and GPUZ can give together! For instance, it shows the actual OpenCL compute capability of your hardware.
Where can I read up on this technology?
Start on Guru3D's site. Further information (more technical) can be found on:
- AMD
- Nvidia
- Khronos
Original writer | Original FAQ | Date |
---|---|---|
Jorden | 506 | 05-12-2009 |