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
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
- Review Request: radeontop - View GPU utilization off AMD/ATI Radeon devices - A tool to view the GPU utilization on ATI cards WIP
- Review Request: clpeak - Find peak OpenCL capacities like bandwidth & compute - Tool to determin peak capabilities of OpenCL devices DONE
- Update existing packages if needed
- gegl (to be investigated)
- ocl-icd (done)
- Potential projects to be packaged:
- Package khronos icd - probably not
- Package piglit - This will be a test suite for the OpenCL implementations, has some non-fedora deps (PACKAGED)
- 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)