From Fedora Project Wiki

< Changes

Revision as of 21:27, 18 July 2018 by Bcotton (talk | contribs)

Basic FPGA Support

Summary

A number of devices like Xilinx ZYNQ based devices such as the 96boards Ultra96 and the Intel based UP² have onboard FPGAs. FPGA manager is a vendor-neutral framework that has been upstream in the kernel since 4.4. This is the initial support for FPGAs in Fedora using open source vendor agnostic tools.

Owner

  • Name: Peter Robinson
  • Email: pbrobinson at fedora project dot org
  • Release notes owner:

Current status

  • Targeted release: Fedora 29
  • Last updated: 2018-07-18
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

The use of Artificial Intelligence and Machine Learning is growing. There's a number types of compute power used to drive this, the standard system CPU can handle basic work, but for more powerful needs this workload gets moved to auxiliary processors such as GPGPU, FPGAs or Neural Network processors. This will add initial support for FPGAs in Fedora using the Linux Kernel support which currently supports Altera, Zynq, Lattice and other FPGAs. The use of FPGAs with Open Source software is improving and this is the beginning of ensuring that can be consumed in Fedora as easily as possible.

Benefit to Fedora

The general purpose use of FPGAs is growing in the tech industry, especially in AI and Machine Learning usecases for IoT and numerous other places where special purpose workload acceleration is needed. This will help developing these workloads on top of Fedora for use across the distribution.


Scope

  • Proposal owners: Kernel and userspace changes
  • Other developers: N/A (not a System Wide Change)
  • Release engineering: #7634 (a check of an impact with Release Engineering is needed)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

There is no impact to upgrades or platforms that don't contain FPGAs.

How To Test

Testing will require hardware with a supported FPGA. The initial devices for this will be a 96boards Ultra96 or a UP² with a Altera FPGA. Other devices will be supported and testing will be welcome.

The process for testing will be linked to here.

User Experience

Currently the Fedora support for FPGAs is basically non existent. There's currently a few open tools for specific FPGAs. This is the beginning of improving this with the intention of having a uniform as possible user experience across FPGAs as is currently possible.

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
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes

To be written