Merge "Add Inspur FPGA driver specification."

This commit is contained in:
Zuul 2020-07-28 00:40:40 +00:00 committed by Gerrit Code Review
commit 4ca20b0c04
1 changed files with 159 additions and 0 deletions

View File

@ -0,0 +1,159 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
==================================
Cyborg Inspur FPGA Driver Proposal
==================================
This spec proposes to provide the initial design for Cyborg's Inspur FPGA
driver.
Problem description
===================
This spec will add an Inspur FPGA driver for Cyborg to manage specific
Inspur FPGA devices.
Use Cases
---------
* When Cyborg agent starts or does resource checking periodically, the Cyborg
Inspur FPGA driver should provider discover() function to enumerate the
list of the Inspur FPGA devices, and report the details of all available
Inspur FPGA accelerators on the host, such as PID(Product id),
VID(Vendor id), Device and BSP(Inspur FPGA program environment).
* When user uses empty Inspur FPGA as their accelerators, Cyborg agent will
call driver's program() interface by provide BSP to the driver.
Proposed changes
================
In general, the goal is to develop a Cyborg Inspur FPGA driver that supports
discover/program interfaces for Inspur FPGA accelerator framework.
The driver should include the follow functions:
1. discover()
driver reports devices' raw info sample as following::
[{
"vendor": "0x1db4",
"product": "a115",
"device": "0000:af:00:0",
"bsp": {"env": "/var/lib/inspur-fpga",
"cmd": "aocl"}
}]
2. program(bsp)
program by bsp.
bsp: the environment of accelerator device.
Image Format
----------------------------
Alternatives
------------
None
Data model impact
-----------------
Inspur FPGA driver will not touch Data model.
The Cyborg Agent can call Inspur FPGA driver to update the database
during the discover/program operations.
REST API impact
---------------
The related Inspur FPGA accelerator APIs is out of scope for this spec.
Security impact
---------------
None
Notifications impact
--------------------
None
Other end user impact
---------------------
User can manage Inspur FPGA card by Cyborg Inspur FPGA driver. Such as list
of the Inspur FPGA devices, report the details of all available Inspur
FPGA accelerators on the host, program with Inspur FPGA and so on.
Performance Impact
------------------
None
Other deployer impact
---------------------
Deployers should install the specific Inspur FPGA management stack that the
driver depends on.
Developer impact
----------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
Wenping Song
Work Items
----------
* Implement Inspur FPGA driver in Cyborg
* Add related test cases.
Dependencies
============
None
Testing
========
* Unit tests will be added to test this driver.
Documentation Impact
====================
Document Inspur FPGA driver in Cyborg project.
References
==========
None
History
=======
.. list-table:: Revisions
:header-rows: 1
* - Release
- Description
* - Victoria
- Introduced
References
==========
None