Update driver section.

Apart from FPGA and GPU, we support other device types
today and will add more in the future.

Most of the operations are common to the drivers we support.
For example, all drivers support device discovery, VM
creation/deletion, etc. None of them support firmware/shell
update today.

Also, we need to include the supported product families and
any special notes for the driver.

So this update removes the per-device-type files for FPGA
and GPU, and instead adds per-driver notes.

Change-Id: Ic0836e5a8d470a0f185d8d73e4f9ae21dfa63e45
This commit is contained in:
Sundar Nadathur 2019-10-03 10:22:05 -07:00 committed by Donny Davis
parent 86f10e29f7
commit 95e01e6d38
6 changed files with 42 additions and 190 deletions

View File

@ -4,7 +4,6 @@
sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
sphinx-feature-classification>=0.1.0 # Apache 2.0
sphinxcontrib-httpdomain>=1.3.0 # BSD
sphinxcontrib-pecanwsme>=0.2 # Apache-2.0
sphinxcontrib-seqdiag>=0.8.4 # BSD

View File

@ -22,7 +22,6 @@ sys.path.insert(0, os.path.abspath('../..'))
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx_feature_classification.support_matrix',
#'sphinx.ext.intersphinx',
'openstackdocstheme',
'oslo_config.sphinxconfiggen',

View File

@ -0,0 +1,24 @@
.. list-table:: Driver Support
:widths: 20 20 30 30
:header-rows: 1
* - Driver Name
- Supported Products
- Description
- Notes
* - Fake Driver
- None
- A driver that creates a fake device with accelerator resources of type FPGA. Useful for exploring Cyborg without hardware and for Continuous Integration testing.
- None
* - Intel FPGA OPAE Driver
- `Intel PAC <https://www.intel.com/content/www/us/en/programmable/products/boards_and_kits/dev-kits/altera/acceleration-card-arria-10-gx/overview.html>`_
- The driver for Intel FPGA devices with OPAE software stack.
- Supports programming of FPGA bitstreams of type ``gbs``.
* - Nvidia GPU driver
- None
- The driver for Nvidia GPUs.
- None
* - Ascend AI Chip driver
- None
- The driver for Huawei's Ascend AI chips.
- None

View File

@ -1,77 +0,0 @@
# Copyright (C) 2018 Lenovo, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#####################################################################
# Drivers:
[driver.fpga.fake]
title=Cyborg Fake Driver
link=https://opendev.org/openstack/cyborg/src/branch/master/cyborg/accelerator/drivers
[driver.fpga.intel.opae]
title=Intel FPGA OPAE Driver
link=https://opendev.org/openstack/cyborg/src/branch/master/cyborg/accelerator/drivers/fpga/intel
#####################################################################
# Functions:
[operation.supported]
title=Supported Vendor Driver
status=optional
notes=A vendor driver is considered supported if the vendor is
running a third party CI that regularly runs and reports
accurate results.
driver.fpga.fake=partial
driver.fpga.intel.opae=partial
[operation.create_accelerator]
title=Create Accelerator
status=mandatory
notes=Supports the ability to create an accelerator.
driver.fpga.fake=complete
driver.fpga.intel.opae=complete
[operation.delete_accelerator]
title=Delete Accelerator
status=mandatory
notes=Supports the ability to create an accelerator.
driver.fpga.fake=complete
driver.fpga.intel.opae=complete
[operation.load_bitstream]
title=Load Bitstream
status=optional
notes=Supports the ability to load a bitstream to an FPGA.
driver.fpga.fake=missing
driver.fpga.intel.opae=complete
[operation.delete_bitstream]
title=Delete Bitstream
status=optional
notes=Supports the ability to load a bitstream to an FPGA.
driver.fpga.fake=missing
driver.fpga.intel.opae=missing
[operation.preloaded_bitstream]
title=Preloaded Bitstream
status=optional
notes=Supports the ability to use preloaded bitstreams already in FPGA.
driver.fpga.fake=missing
driver.fpga.intel.opae=complete
[operation.update_shell]
title=Update FPGA shell
status=optional
notes=Supports the ability to update blue bits/shell for FPGA.
driver.fpga.fake=missing
driver.fpga.intel.opae=missing

View File

@ -1,56 +0,0 @@
# Copyright (C) 2018 Lenovo, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#####################################################################
# Drivers:
[driver.gpu.fake]
title=Cyborg Fake GPU Driver
link=https://opendev.org/openstack/cyborg/src/branch/master/cyborg/accelerator/drivers
[driver.gpu.nvidia]
title=Cyborg NVIDIA GPU Driver
link=https://opendev.org/openstack/cyborg/src/branch/master/cyborg/accelerator/drivers/gpu/nvidia
#####################################################################
# Functions:
[operation.supported]
title=Supported Vendor Driver
status=optional
notes=A vendor driver is considered supported if the vendor is
running a third party CI that regularly runs and reports
accurate results.
driver.gpu.fake=missing
driver.gpu.nvidia=complete
[operation.create_accelerator]
title=Create Accelerator
status=mandatory
notes=Cyborg supports the ability to create an accelerator.
driver.gpu.fake=missing
driver.gpu.nvidia=complete
[operation.delete_accelerator]
title=Delete Accelerator
status=mandatory
notes=Cyborg supports the ability to create an accelerator.
driver.gpu.fake=missing
driver.gpu.nvidia=complete
[operation.update_firmware]
title=Update GPU Firmware
status=optional
notes=Supports the ability to update firmware for GPU.
driver.gpu.fake=missing
driver.gpu.nvidia=missing

View File

@ -4,19 +4,18 @@ Cyborg Support Matrix
Cyborg supports specific operations on VMs with attached accelerator
resources, which are generally a subset of the full set of VM operations
supported by Nova [nova-vm-ops]_. These are the operations that have been
validated to work in this release.
supported by Nova (`nova-vm-ops
<https://docs.openstack.org/api-guide/compute/server_concepts.html>`_).
This document lists the supported operations on VMs with accelerators in this
release, with caveats as needed, and also the list of VM operations known not
to work. Other VM operations outside both lists may or may not work; users try
them at their own risk.
In this release, these operations have a dependency on specific Nova
patches (`nova-patches
<https://review.opendev.org/#/q/status:open+project:openstack/nova+bp/nova-cyborg-interaction>`_).
They can be expected to work in Cyborg only
if and when these Nova patches get merged without significant changes.
These operations are not supported in this release since the dependencies
are not met.
For the Train release, to enable the following VM operations are supported,
you must install certain Nova patches on top of the standard release
[nova-patches]_.
.. list-table:: Supported VM Operations
.. list-table:: VM Operations Expected to Work With Nova Dependencies
:header-rows: 1
* - VM Operation
@ -34,52 +33,16 @@ you must install certain Nova patches on top of the standard release
* - Lock/Unlock
- ``openstack server lock``, ``openstack server unlock``
.. list-table:: VM Operations Known to Fail
:header-rows: 1
Operations not listed here may or may not work.
* - VM Operation
- Command
* - Hard Reboot
- ``openstack server reboot --hard``
* - Stop/Start
- ``openstack server stop``, ``openstack server start``
* - Suspend/Resume
- ``openstack server suspend``, ``openstack server resume``
Driver Support
~~~~~~~~~~~~~~
The following support matrix reflects the drivers that are currently
available or are available in
`cyborg.accelerator.driver section of Cyborg's setup.cfg
The list of drivers available as part of the Cyborg distribution
at the time of release can be found in:
``cyborg.accelerator.driver`` section of `Cyborg's setup.cfg
<https://opendev.org/openstack/cyborg/src/branch/master/setup.cfg>`_
at the time of release.
FPGA Driver Support
~~~~~~~~~~~~~~~~~~~~
The following table provides additional information for individual drivers.
The following table of drivers lists support status for FPGA accelerators
.. support_matrix:: support-matrix-fpga.ini
GPU Driver Support
~~~~~~~~~~~~~~~~~~~
The following table of drivers lists support status for GPU accelerators
.. support_matrix:: support-matrix-gpu.ini
Driver Removal History
~~~~~~~~~~~~~~~~~~~~~~
The section will be used to track driver removal starting from the Train
release.
* Train
References
~~~~~~~~~~
.. [nova-vm-ops] `Server concepts
<https://docs.openstack.org/api-guide/compute/server_concepts.html>`_
.. [nova-patches] `Nova patches needed for VMs with accelerators
<https://review.opendev.org/#/q/status:open+project:openstack/nova+bp/nova-cyborg-interaction>`_
.. include:: driver-table.rst