Changes/OpenCL

From FedoraProject

< Changes
Revision as of 21:26, 5 November 2013 by Fabiand (Talk | contribs)

Jump to: navigation, search


Contents

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. The change includes enabling Mesa's OpenCL state-tracker (in 9.3 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: 2013-11-05
  • 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 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, has some non-fedora deps
  • 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

Basic

  1. Install clinfo
  2. Run clinfo
  3. Informations about supported opencl devices should appear


CPU-Only

Testing can be done on any CPU suported by pocl (x86_64, for now)

  1. Install ocltoys
  2. Run ./smallptgpu -o CPU
  3. An image should appear slowly (or very slowly on slow machines)


GPU-Only

Testing can be done on AMD/ATI GPUs (r600)

  1. Install ocltoys and mesa-opencl (TBD)
  2. Run ./smallptgpu -o GPU
  3. 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)

Release Notes