Davidgumberg (talk | contribs) m (minor typo) |
(Change Proposal ready for 2014-03-12 FESCo meeting (#1250)) |
||
Line 181: | Line 181: | ||
--> | --> | ||
[[Category: | [[Category:ChangeReadyForFesco]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> |
Revision as of 13:12, 10 March 2014
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. The change includes enabling Mesa's OpenCL state-tracker (in 10.0 with ICD support), packaging pocl - an CPU only OpenCL implementation - and the introduction of several other OpenCL related packages.
Owner
- Name: Fabian Deutsch
- Email: fabiand@fedoraproject.org
- Release notes owner:
Current status
- Targeted release: Fedora 21
- Last updated: 2014-25-01
- 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:
- Add OpenCL implementations
- Enable OpenCL state-tracker in Mesa DONE
- Package pocl - CPU-only OpenCL implementation DONE
- Package beignet - Intel Ivy Bridge 1 only DONE
- Package implementation dependencies:
- Package libclc - needed by Mesa's state-tracker DONE
- Fix OpenCL path owenrship - Who owns /etc/OpenCL DONE
- Review Request: opencl-filesystem - OpenCL filesystem layout - A package owning shared paths DONE
- Package related packages
- Review Request: gocl - GLib/GObject based library for OpenCL - glib based OpenCL library DONE
- Review Request: clinfo - Enumerate OpenCL platforms and devices - A tool to query informations about the available OpenCL platforms DONE
- Review Request: erlang-cl - OpenCL binding for Erlang DONE
- Package ViennaCL - A math library which can utilize CPU (OpenMP) and GPU (OpenCL/CUDA) WIP
- Package pyopencl - A python library for accessing OpenCL BLOCKED BY rhbz #1002898
- Review Request: ocltoys - Collection of OpenCL examples focused on Computer Graphics - A couple of OpenCL examples for testing WIP
- Update existing packages if needed
- gegl (to be investigated)
- ocl-icd (done)
- Potential projects to be packaged:
- Package khronos icd - probably not
- Package radeontop - To monitor a Radeon GPU (which supports OpenCL)
- Package piglit - This will be a test suite for the OpenCL implementations, has some non-fedora deps
- Package gst-plugins-cl - Gstreamer plugin for OpenCL, needs an update to gst-1.0 (NEW)
- Other stuff:
- Add a new group to comps or a opencl-dev package?
- Add virtual provides to the OpenCL implementations - So a app requiring 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 enhancement, so nothing should break.
N/A (not a System Wide Change)
How To Test
Basic
- Install
clinfo
- Run
clinfo
- Information about supported OpenCL devices should appear
CPU-Only
Testing can be done on any CPU suported by pocl (x86_64, for now)
- Install
ocltoys
- Run
./smallptgpu -o CPU
- An image should appear slowly (or very slowly on slow machines)
GPU-Only
Testing can be done on AMD/ATI GPUs (r600)
- Install
ocltoys
andmesa-opencl
(TBD) - Run
./smallptgpu -o GPU
- An image should appear
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)