Difference between revisions of "GPGPU"

From ArchWiki
Jump to: navigation, search
Line 2: Line 2:
 
[[Category:Category:Graphics (English)]]
 
[[Category:Category:Graphics (English)]]
 
{{Note|This article is a non-public work in progress as of yet}}
 
{{Note|This article is a non-public work in progress as of yet}}
 
  
 
{{Lorem Ipsum}}
 
{{Lorem Ipsum}}
Line 8: Line 7:
 
==Installation==
 
==Installation==
 
===OpenCL===
 
===OpenCL===
{{Lorem Ipsum}}
+
A distribution of the OpenCL framework generally constists of:
 +
* Library's shared object (libOpenCL.so, for detailed information [[#The OpenCL ICD model|see bellow]])
 +
* One or more vendor-specific OpenCL implementation packages
 +
* Device drivers
 +
 
 +
For the OpenCL shared object, installing {{Package Official|libcl}} should do in general case:
 +
# pacman -S libcl
 +
 
 +
See [[#Implementations|Implementations]] on how to install implementation and device driver packages.
 +
 
 +
====The OpenCL ICD model====
 +
OpenCL offers the option to install multiple vendor-specific implementations on the same machine at the same time.
 +
In practice, this is implemented using the Installable Client Driver (ICD) model.
 +
The center point of this model is the ICD Loader (which on linux is in fact the libOpenCL.so object).
 +
Through the ICD Loader, an OpenCL application is able to access all platforms and all devices present in the system.
 +
 
 +
Although itself vendor-agnostic, the ICD Loader still has to be provided by someone. In Archlinux, there are currently two options:
 +
* extra/{{Package Official|libcl}} by Nvidia. Provides OpenCL version 1.0 and is thus slightly outdated. It's behaviour with OpenCL 1.1 code has not been tested as of yet.
 +
* unsupported/{{Package AUR|libopencl}} by AMD. Provides up to date version 1.1 of OpenCL. It is currently distributed by AMD under a restrictive license and therefore could not have been pushed into official repo.
 +
 
 +
For basic usage, extra/libcl is recommended, as it's installation and updating is convenient. For advanced usage, libopencl is recommended.  Both libcl and libopencl should still work with all the implementations.
  
 
===CUDA===
 
===CUDA===
{{Lorem Ipsum}}
+
{{Expansion}}
  
 
==Implementations==
 
==Implementations==
 
===Nvidia===
 
===Nvidia===
{{Lorem Ipsum}}
+
{{Expansion}}
  
 
===AMD===
 
===AMD===
Line 25: Line 44:
 
==Developement==
 
==Developement==
 
{{Lorem Ipsum}}
 
{{Lorem Ipsum}}
 +
 +
==Links and references==

Revision as of 18:35, 8 August 2011

Note: This article is a non-public work in progress as of yet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin egestas, magna non sollicitudin commodo, sapien elit semper sapien, adipiscing consectetur nisi ipsum ut elit. Sed ac neque ut nulla tempor porttitor. Mauris interdum. Cras feugiat sodales nibh. Proin neque turpis.

Installation

OpenCL

A distribution of the OpenCL framework generally constists of:

  • Library's shared object (libOpenCL.so, for detailed information see bellow)
  • One or more vendor-specific OpenCL implementation packages
  • Device drivers

For the OpenCL shared object, installing Template:Package Official should do in general case:

# pacman -S libcl

See Implementations on how to install implementation and device driver packages.

The OpenCL ICD model

OpenCL offers the option to install multiple vendor-specific implementations on the same machine at the same time. In practice, this is implemented using the Installable Client Driver (ICD) model. The center point of this model is the ICD Loader (which on linux is in fact the libOpenCL.so object). Through the ICD Loader, an OpenCL application is able to access all platforms and all devices present in the system.

Although itself vendor-agnostic, the ICD Loader still has to be provided by someone. In Archlinux, there are currently two options:

  • extra/Template:Package Official by Nvidia. Provides OpenCL version 1.0 and is thus slightly outdated. It's behaviour with OpenCL 1.1 code has not been tested as of yet.
  • unsupported/Template:Package AUR by AMD. Provides up to date version 1.1 of OpenCL. It is currently distributed by AMD under a restrictive license and therefore could not have been pushed into official repo.

For basic usage, extra/libcl is recommended, as it's installation and updating is convenient. For advanced usage, libopencl is recommended. Both libcl and libopencl should still work with all the implementations.

CUDA

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:GPGPU#)

Implementations

Nvidia

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:GPGPU#)

AMD

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin egestas, magna non sollicitudin commodo, sapien elit semper sapien, adipiscing consectetur nisi ipsum ut elit. Sed ac neque ut nulla tempor porttitor. Mauris interdum. Cras feugiat sodales nibh. Proin neque turpis.

Intel

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin egestas, magna non sollicitudin commodo, sapien elit semper sapien, adipiscing consectetur nisi ipsum ut elit. Sed ac neque ut nulla tempor porttitor. Mauris interdum. Cras feugiat sodales nibh. Proin neque turpis.

Developement

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin egestas, magna non sollicitudin commodo, sapien elit semper sapien, adipiscing consectetur nisi ipsum ut elit. Sed ac neque ut nulla tempor porttitor. Mauris interdum. Cras feugiat sodales nibh. Proin neque turpis.

Links and references