From Fedora Project Wiki
No edit summary
(submitting change to fesco)
 
(33 intermediate revisions by 2 users not shown)
Line 6: Line 6:
<!-- 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. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
<!-- 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. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->


Intel Compute Runtime parts are currently stuck at a legacy branch that isn't undergoing an active development. Newer branches did significantly cut hardware support (for GPU Generations prior to the 12th), and the aim of this change is to do the leap of faith.
Intel Compute Runtime parts are currently stuck at a legacy branch that isn't undergoing an active development. Newer branches did significantly cut hardware support (for GPU Generations prior to the 12th), and the aim of this change is to do the leap of faith, and rebase intel-compute-runtime and intel-igc to the latest upstream releases, and remove compute support for Intel GPU generations released prior to 2020 (full list is available in the "Detailed Description" section here).
 
This Change doesn't affect the intel-media-driver included in the default package set, which continues to have support for old generations of hardware in the main development branches for now.


== Owner ==
== Owner ==
Line 14: Line 16:


== Current status ==
== Current status ==
[[Category:ChangePageIncomplete]]
[[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 -->
Line 31: Line 33:
ON_QA -> change is fully code complete
ON_QA -> change is fully code complete
-->
-->
* [Announced]
* [https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org/thread/RUZ3XPVLQEJC6YJXJCYJNQHQP4ETYVVE/ Announced]
* [<will be assigned by the Wrangler> Discussion thread]
* [https://discussion.fedoraproject.org/t/f42-change-proposal-intel-compute-runtime-upgrade-with-hw-cut-off-self-contained/139842 Discussion thread]
* FESCo issue: <will be assigned by the Wrangler>
* FESCo issue: [https://pagure.io/fesco/issue/3307 #3307]
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>
* Release notes tracker: <will be assigned by the Wrangler>
Line 40: Line 42:
<!-- 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. -->


Intel Compute Runtime, consisting of intel-compute-runtime, intel-igc, oneapi-level-zero, removed support for GPU Generations prior to the 12th Gen GPUs. This effectively means that any hardware released before 2022 is no longer supported for OpenCL and oneAPI workloads. The cut-off occurred first in compute-runtime with branch 24.39, and followed in rest of the components.
Intel Compute Runtime, consisting of intel-compute-runtime, intel-igc, oneapi-level-zero, removed support for GPU Generations prior to the 12th Gen GPUs. This effectively means that any hardware released before 2020 is no longer supported for OpenCL and oneAPI workloads. The cut-off occurred first in compute-runtime with branch 24.39, released as stable on October 21st, 2024, and followed in rest of the components.
 
'''The removed architectures are listed at [https://github.com/intel/compute-runtime/blob/master/LEGACY_PLATFORMS.md LEGACY_PLATFORMS]''':
* Broadwell
* Skylake
* Kaby Lake
* Coffee Lake
* Apollo Lake
* Gemini Lake
* Ice Lake
* Elkhart Lake
 
The now supported GPU generations would be:
* DG1
* Alchemist
* Tiger Lake
* Rocket Lake
* Alder Lake
* Meteor Lake
* Raptor Lake
* Lunar Lake
* Arrow Lake
* more to come...


Fedora packages thus stayed on the older branches that support older hardware generations up to Broadwell (released around 2015). These snapshots do miss support for newer Hardware generations, most notably Intel Battlemage GPUs, and upcoming graphics based on Xe3, and lack fixes and improvements for integrated Xe2 architecture products.
Fedora packages thus stayed on the older branches that support older hardware generations up to Broadwell (released around 2015). These snapshots do miss support for newer Hardware generations, most notably Intel Battlemage GPUs, will miss support for upcoming graphics based on Xe3+, and lack fixes and improvements for integrated Xe2 architecture products.


Apart from HW Support plane, it'll, over time, become problematic to keep the pieces working, as new kernels, headers, and compilers do break the suite on occasion, and older branches aren't getting fixes in these areas.
Apart from HW Support plane, it'll, over time, become problematic to keep the pieces working, as new kernels, headers, and compilers do break the suite on occasion, and older branches aren't getting fixes in these areas.
Line 52: Line 76:


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the distribution?  Will the software we generate be improved? How will the process of creating Fedora releases be improved?
 
      Be sure to include the following areas if relevant:
      If this is a major capability update, what has changed?
          For example: This change introduces Python 5 that runs without the Global Interpreter Lock and is fully multithreaded.
      If this is a new functionality, what capabilities does it bring?
          For example: This change allows package upgrades to be performed automatically and rolled-back at will.
      Does this improve some specific package or set of packages?
          For example: This change modifies a package to use a different language stack that reduces install size by removing dependencies.
      Does this improve specific Spins or Editions?
          For example: This change modifies the default install of Fedora Workstation to be more in line with the base install of Fedora Server.
      Does this make the distribution more efficient?
          For example: This change replaces thousands of individual %post scriptlets in packages with one script that runs at the end.
      Is this an improvement to maintainer processes?
          For example: Gating Fedora packages on automatic QA tests will make rawhide more stable and allow changes to be implemented more smoothly.
      Is this an improvement targeted as specific contributors?
          For example: Ensuring that a minimal set of tools required for contribution to Fedora are installed by default eases the onboarding of new contributors.


    When a Change has multiple benefits, it's better to list them all.
This change brings in a new hardware support, and will allow to keep supporting future hardware generations. The change would also allow Fedora to come with the latest fixes and improvements (including in the performance area) to the Intel Compute Runtime. And finally, it'll allow the suite to continue to work with other parts of the components forming the stack (drivers in kernel, OpenCL, etc.) as they evolve.


    Consider these Change pages from previous editions as inspiration:
This will also enable to move the suite from depending on LLVM 15 to a newer releases, bringing batch of improvements and changes done over the years in LLVM.
    https://fedoraproject.org/wiki/Changes/Annobin (low-level and technical, invisible to users)
    https://fedoraproject.org/wiki/Changes/ParallelInstallableDebuginfo (low-level, but visible to advanced users)
    https://fedoraproject.org/wiki/Changes/VirtualBox_Guest_Integration (primarily a UX change)
    https://fedoraproject.org/wiki/Changes/NoMoreAlpha (an improvement to distro processes)
    https://fedoraproject.org/wiki/Changes/perl5.26 (major upgrade to a popular software stack, visible to users of that stack)
-->


== Scope ==
== Scope ==
* Proposal owners:
* Proposal owners: Prepare, and build rebased parts of the stack in a testing COPR, rebase the components in Fedora.
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Other developers: N/A
* Other developers: If any volunteers want/need, they can package legacy branches of the suite to keep it in the repositories.


* Release engineering: N/A
* Release engineering: N/A
Line 121: Line 121:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
(expected in Jan/Feb 2025 timeframe)
# Own any intel GPU from the supported generation (12th Gen onwards)
# Install any application that leverages OpenCL (eg. darktable, clpeak) or oneAPI
# Enable testing COPR: TBD
# Update to the packages in the testing COPR
# Install intel-compute-runtime
# Run various compute tests, eg. clinfo, clpeak, rm -rf ~/.cache/darktable/ && darktable-cltest, zello_world
# Observe the results


== User Experience ==
== User Experience ==
Line 143: Line 153:


<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Not doing the change, reverting packages that may have been affected
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: Final Freeze
* Contingency deadline: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? N/A (not a System Wide Change)
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 


== Documentation ==
== Documentation ==

Latest revision as of 17:55, 6 January 2025

Intel Compute Runtime - Upgrade with HW cut-off

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Intel Compute Runtime parts are currently stuck at a legacy branch that isn't undergoing an active development. Newer branches did significantly cut hardware support (for GPU Generations prior to the 12th), and the aim of this change is to do the leap of faith, and rebase intel-compute-runtime and intel-igc to the latest upstream releases, and remove compute support for Intel GPU generations released prior to 2020 (full list is available in the "Detailed Description" section here).

This Change doesn't affect the intel-media-driver included in the default package set, which continues to have support for old generations of hardware in the main development branches for now.

Owner

Current status

Detailed Description

Intel Compute Runtime, consisting of intel-compute-runtime, intel-igc, oneapi-level-zero, removed support for GPU Generations prior to the 12th Gen GPUs. This effectively means that any hardware released before 2020 is no longer supported for OpenCL and oneAPI workloads. The cut-off occurred first in compute-runtime with branch 24.39, released as stable on October 21st, 2024, and followed in rest of the components.

The removed architectures are listed at LEGACY_PLATFORMS:

  • Broadwell
  • Skylake
  • Kaby Lake
  • Coffee Lake
  • Apollo Lake
  • Gemini Lake
  • Ice Lake
  • Elkhart Lake

The now supported GPU generations would be:

  • DG1
  • Alchemist
  • Tiger Lake
  • Rocket Lake
  • Alder Lake
  • Meteor Lake
  • Raptor Lake
  • Lunar Lake
  • Arrow Lake
  • more to come...

Fedora packages thus stayed on the older branches that support older hardware generations up to Broadwell (released around 2015). These snapshots do miss support for newer Hardware generations, most notably Intel Battlemage GPUs, will miss support for upcoming graphics based on Xe3+, and lack fixes and improvements for integrated Xe2 architecture products.

Apart from HW Support plane, it'll, over time, become problematic to keep the pieces working, as new kernels, headers, and compilers do break the suite on occasion, and older branches aren't getting fixes in these areas.

This change is to propose a rebase of the entire suite to the latest upstream branches, undergoing an active development and adding support for new products.

Feedback

Benefit to Fedora

This change brings in a new hardware support, and will allow to keep supporting future hardware generations. The change would also allow Fedora to come with the latest fixes and improvements (including in the performance area) to the Intel Compute Runtime. And finally, it'll allow the suite to continue to work with other parts of the components forming the stack (drivers in kernel, OpenCL, etc.) as they evolve.

This will also enable to move the suite from depending on LLVM 15 to a newer releases, bringing batch of improvements and changes done over the years in LLVM.

Scope

  • Proposal owners: Prepare, and build rebased parts of the stack in a testing COPR, rebase the components in Fedora.
  • Other developers: If any volunteers want/need, they can package legacy branches of the suite to keep it in the repositories.
  • Release engineering: N/A
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy:

Upgrade/compatibility impact

Early Testing (Optional)

Do you require 'QA Blueprint' support? N

How To Test

(expected in Jan/Feb 2025 timeframe)

  1. Own any intel GPU from the supported generation (12th Gen onwards)
  2. Install any application that leverages OpenCL (eg. darktable, clpeak) or oneAPI
  3. Enable testing COPR: TBD
  4. Update to the packages in the testing COPR
  5. Install intel-compute-runtime
  6. Run various compute tests, eg. clinfo, clpeak, rm -rf ~/.cache/darktable/ && darktable-cltest, zello_world
  7. Observe the results

User Experience

Dependencies

Contingency Plan

  • Contingency mechanism: Not doing the change, reverting packages that may have been affected
  • Contingency deadline: Final Freeze
  • Blocks release? N/A (not a System Wide Change)

Documentation

N/A (not a System Wide Change)

Release Notes