Cyborg Inspur FPGA 驱动程序提案

本规范提出为 Cyborg 提供 Inspur FPGA 驱动程序的初始设计。

问题描述

本规范将为 Cyborg 添加一个 Inspur FPGA 驱动程序,以管理特定的 Inspur FPGA 设备。

用例

  • 当 Cyborg agent 启动或定期进行资源检查时,Cyborg Inspur FPGA 驱动程序应提供 discover() 函数来枚举 Inspur FPGA 设备列表,并报告主机上所有可用 Inspur FPGA 加速器的详细信息,例如 PID(产品 ID)、VID(供应商 ID)、设备和 BSP(Inspur FPGA 程序环境)。

  • 当用户使用空的 Inspur FPGA 作为其加速器时,Cyborg agent 将通过提供 BSP 给驱动程序来调用驱动程序的 program() 接口。

提议的变更

总的来说,目标是开发一个 Cyborg Inspur FPGA 驱动程序,该驱动程序支持 Inspur FPGA 加速器框架的 discover/program 接口。

该驱动程序应包括以下函数:1. discover() 驱动程序报告设备的原始信息样本如下

[{
  "vendor": "0x1db4",
  "product": "a115",
  "device": "0000:af:00:0",
  "bsp": {"env": "/var/lib/inspur-fpga",
          "cmd": "aocl"}
}]
  1. program(bsp) 通过 bsp 进行编程。bsp:加速器设备的运行环境。

镜像格式

备选方案

数据模型影响

Inspur FPGA 驱动程序不会触及数据模型。Cyborg Agent 可以在 discover/program 操作期间调用 Inspur FPGA 驱动程序来更新数据库。

REST API 影响

相关的 Inspur FPGA 加速器 API 超出了本规范的范围。

安全影响

通知影响

其他最终用户影响

用户可以通过 Cyborg Inspur FPGA 驱动程序管理 Inspur FPGA 卡。例如,Inspur FPGA 设备列表,报告主机上所有可用 Inspur FPGA 加速器的详细信息,使用 Inspur FPGA 进行编程等等。

性能影响

其他部署者影响

部署者应安装驱动程序所依赖的特定的 Inspur FPGA 管理堆栈。

开发者影响

实现

负责人

主要负责人

宋文平

工作项

  • 在 Cyborg 中实现 Inspur FPGA 驱动程序

  • 添加相关的测试用例。

依赖项

测试

  • 将添加单元测试来测试此驱动程序。

文档影响

记录 Cyborg 项目中的 Inspur FPGA 驱动程序。

参考资料

历史记录

修订版

发布

描述

Victoria

引入