From Fedora Project Wiki
Line 24: Line 24:
 
== Summary ==
 
== Summary ==
 
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
 
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
This change will bring initial OpenCL support to Fedora. This will include enabling Mesa's OpenCL state-tracker and the introduction of several OpenCL related packages.
+
This change will bring basic OpenCL support to Fedora to support the development of OpenCL enabled software and the development of OpenCL implementations itself.. This will include enabling Mesa's OpenCL state-tracker (in 9.3), packaging pocl - an CPU only OpenCL implementation - and the introduction of several other OpenCL related packages.
  
 
== Owner ==
 
== Owner ==
Line 54: Line 54:
 
== Detailed Description ==
 
== Detailed Description ==
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
 
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
 +
The change is intended to give developers a starting point to be able to use OpenCL and to improve existing OpenCL implementations.
 +
 
The change will include the following sub changes:
 
The change will include the following sub changes:
* Update existing OpenCL related packages if needed
 
** gegl
 
** opencl-utils
 
** ocl-icd
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=887628 Enable OpenCL state-tracker] in Mesa
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=984312 Package libclc] - needed by Mesa's state-tracker '''DONE'''
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=996232 Package pocl] - CPU-only OpenCL implementation '''DONE'''
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=996953 Fix OpenCL path owenrship] - Who owns /etc/OpenCL '''DONE'''
 
** [https://bugzilla.redhat.com/show_bug.cgi?id=1001958 Review Request: opencl-filesystem - OpenCL filesystem layout] - A package owning shared paths '''DONE'''
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=998636 Review Request: gocl - GLib/GObject based library for OpenCL ] - glib based OpenCL library '''DONE'''
 
* [https://bugzilla.redhat.com/show_bug.cgi?id=1014040 Review Request: clinfo - Enumerate OpenCL platforms and devices ] - A tool to query informations about the available OpenCL platforms '''NEW'''
 
  
 +
* Add OpenCL implementations
 +
** [https://bugzilla.redhat.com/show_bug.cgi?id=887628 Enable OpenCL state-tracker] in Mesa '''NEW'''
 +
** [https://bugzilla.redhat.com/show_bug.cgi?id=996232 Package pocl] - CPU-only OpenCL implementation '''DONE'''
 +
 +
* Package implementation dependencies:
 +
** [https://bugzilla.redhat.com/show_bug.cgi?id=984312 Package libclc] - needed by Mesa's state-tracker '''DONE'''
 +
** [https://bugzilla.redhat.com/show_bug.cgi?id=996953 Fix OpenCL path owenrship] - Who owns /etc/OpenCL '''DONE'''
 +
*** [https://bugzilla.redhat.com/show_bug.cgi?id=1001958 Review Request: opencl-filesystem - OpenCL filesystem layout] - A package owning shared paths '''DONE'''
 +
 +
* Package related packages
 +
** [https://bugzilla.redhat.com/show_bug.cgi?id=998636 Review Request: gocl - GLib/GObject based library for OpenCL ] - glib based OpenCL library '''DONE'''
 +
** [https://bugzilla.redhat.com/show_bug.cgi?id=1014040 Review Request: clinfo - Enumerate OpenCL platforms and devices ] - A tool to query informations about the available OpenCL platforms '''DONE'''
 +
** [http://viennacl.sourceforge.net/ Package ViennaCL] - A math library whcih can utilize CPU (OpenMP) and GPU (OpenCL/CUDA) '''WIP'''
 +
** [https://pypi.python.org/pypi/pyopencl Package pyopencl] - A python library for accessing OpenCL '''BLOCKED BY [https://bugzilla.redhat.com/show_bug.cgi?id=1002898 rhbz #1002898]'''
  
* khronos icd - probably not
+
* Update existing packages if needed
* [http://viennacl.sourceforge.net/ Package ViennaCL] - A math library whcih can utilize CPU (OpenMP) and GPU (OpenCL/CUDA) '''WIP'''
+
** gegl (to be investigated)
* [https://pypi.python.org/pypi/pyopencl Package pyopencl] - A python library for accessing OpenCL '''BLOCKED BY [https://bugzilla.redhat.com/show_bug.cgi?id=1002898 rhbz #1002898]'''
+
** ocl-icd (done)
* Package radeontop - To monitor a Radeon GPU (which supports OpenCL)
 
* Package piglit - This will be a testuite for the OpenCL implementations
 
  
 +
* Potential projects to be packaged:
 +
** Package beignet
 +
** Package khronos icd - probably not
 +
** Package radeontop - To monitor a Radeon GPU (which supports OpenCL)
 +
** Package piglit - This will be a testuite for the OpenCL implementations
  
* Add a new group to comps or a opencl-dev package?
+
* Other stuff:
* Add virtual provides to the opencl implementations - So a app requireing opencl just needs to require the virtual package (so any provider)
+
** Add a new group to comps or a opencl-dev package?
* Version opencl-headers
+
** Add virtual provides to the opencl implementations - So a app requireing opencl just needs to require the virtual package (so any provider)
 +
** Version opencl-headers
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
 
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
Developres will have an easier start to develop OpenCL based software on Fedora. Furthermore this shall be seen as a step o bring OpenCL based software to Linux in general.
+
Developers will have an easier start to develop OpenCL based software on Fedora. Furthermore this shall be seen as a step o bring OpenCL based software to Linux in general.
  
 
== Scope ==
 
== Scope ==

Revision as of 11:12, 7 October 2013


Change Proposal Name OpenCL

Summary

This change will bring basic OpenCL support to Fedora to support the development of OpenCL enabled software and the development of OpenCL implementations itself.. This will include enabling Mesa's OpenCL state-tracker (in 9.3), packaging pocl - an CPU only OpenCL implementation - and the introduction of several other OpenCL related packages.

Owner

Current status

  • Targeted release: Fedora 21
  • Last updated: 2013-09-23
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

The change is intended to give developers a starting point to be able to use OpenCL and to improve existing OpenCL implementations.

The change will include the following sub changes:

  • Update existing packages if needed
    • gegl (to be investigated)
    • ocl-icd (done)
  • Potential projects to be packaged:
    • Package beignet
    • Package khronos icd - probably not
    • Package radeontop - To monitor a Radeon GPU (which supports OpenCL)
    • Package piglit - This will be a testuite for the OpenCL implementations
  • Other stuff:
    • Add a new group to comps or a opencl-dev package?
    • Add virtual provides to the opencl implementations - So a app requireing opencl just needs to require the virtual package (so any provider)
    • Version opencl-headers

Benefit to Fedora

Developers will have an easier start to develop OpenCL based software on Fedora. Furthermore this shall be seen as a step o bring OpenCL based software to Linux in general.

Scope

  • Proposal owners: Mainly packaging
  • Other developers: N/A (not a System Wide Change)
  • Release engineering: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)

Upgrade/compatibility impact

This is a pure enhancements, so nothing should break.

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

N/A (not a System Wide Change)

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No

Documentation

N/A (not a System Wide Change)

Release Notes