Cyborg

Overview
Cyborg (previously known as Nomad) is an OpenStack project that aims to provide a general purpose management framework for acceleration resources (i.e. various types of accelerators such as Crypto cards,GPU, FPGA, NVMe/NOF SSDs, ODP, DPDK/SPDK and so on).

Rocky Subteam Co-leads

 * Release: Howard Huang, Zhuli
 * Doc: Yumeng Bao
 * Driver: Li Liu, Chuck Song

Rocky Community Goals

 * Mutable Config: https://review.openstack.org/559303
 * Mox/Mox3 Removal: TBD

Rocky Overall Design

 * Cyborg-Nova Finish Up: https://review.openstack.org/554717
 * Metadata Standardization: https://review.openstack.org/558265
 * Programming Support: https://review.openstack.org/559395
 * os-acc: TBD
 * Multi-tenancy: TBD

Queens Development Trello Board
https://trello.com/b/4nFtHNSg/queens-dev

Pike/Queens Overall Design

 * API-DB: https://review.openstack.org/445814
 * Conductor-Agent: https://review.openstack.org/446091
 * Generic Driver: https://review.openstack.org/447257
 * Cyborg-Nova: https://review.openstack.org/448228, https://review.openstack.org/508572 (Queens Take 2)
 * Sandbox: https://review.openstack.org/461220, https://review.openstack.org/444999

Related Industry Efforts
Stanford DAWN Project:
 * spatial (FPGA programming) : https://github.com/stanford-ppl/spatial-lang
 * weld (ML IR) : https://github.com/weld-project/weld

USCD RIFFA Project:

http://riffa.ucsd.edu/node/2

FD.IO: https://fd.io/

SPDK: http://www.spdk.io/

Oak Ridge National Lab Quantum Computing Acceleration: https://ornl-qci.github.io/xacc/

Neuromorphic Computing: https://github.com/nengo/nengo

OpenCL: https://www.khronos.org/opencl/

OpenML: http://www.openmp.org/

CUDA: https://developer.nvidia.com/cuda-toolkit

OpenACC: https://developer.nvidia.com/openacc

RISC-V: https://riscv.org/

RISC-V on ICE40: https://github.com/grahamedgecombe/icicle

eBPF: https://www.iovisor.org/technology/ebpf

Meeting/Materials

 * Please refer to Meetings/CyborgTeamMeeting for meeting agenda and logistic info
 * Please refer to Cyborg/Materials for additional materials regarding Cyborg.
 * Please refer to Cyborg/MeetingLogs for meeting minutes archives.
 * Please refer to Cyborg/FirstContact for local on-boarding meeting agenda and logistic info

How to contribute

 * 1) git clone https://git.openstack.org/openstack/cyborg
 * 2) Make the changes to your entry, be sure to include what’s changed and why
 * 3) Commit the change for review
 * 4) The changes will be reviewed, merged within a day or so.

Cyborg is designed to use the same tools for submission and review as other OpenStack projects. As such we follow the OpenStack development workflow. New contributors should follow the getting started steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries.

The Cyborg Launchpad page can be found at https://launchpad.net/openstack-cyborg.