Difference between revisions of "Cyborg"
(→Useful Materials) |
(→Related Industry Efforts) |
||
(20 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==Overview== | ==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 | + | 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 GPU, FPGA, ASIC, NP, SoCs, NVMe/NOF SSDs, ODP, DPDK/SPDK and so on). |
− | ==Overall Design== | + | ===Rocky Subteam Co-leads=== |
+ | * Release: Howard Huang | ||
+ | * Doc: Yumeng Bao/Li Liu | ||
+ | * Driver: Shaohe Feng/Li Liu | ||
+ | |||
+ | ===Rocky Community Goals=== | ||
+ | * Mutable Config: Done (https://review.openstack.org/559303) | ||
+ | * Mox/Mox3 Removal: Done | ||
+ | |||
+ | ===Rocky Overall Design=== | ||
+ | |||
+ | * Cyborg-Nova Finish Up: https://review.openstack.org/554717 | ||
+ | * Metadata Standardization: https://review.openstack.org/558265 | ||
+ | * FPGA Programming Support: https://review.openstack.org/559395 | ||
+ | * os-acc: https://review.openstack.org/566798 | ||
+ | * Quota: https://review.openstack.org/560285 | ||
+ | |||
+ | ===Pike/Queens Overall Design=== | ||
* API-DB: https://review.openstack.org/445814 | * API-DB: https://review.openstack.org/445814 | ||
* Conductor-Agent: https://review.openstack.org/446091 | * Conductor-Agent: https://review.openstack.org/446091 | ||
* Generic Driver: https://review.openstack.org/447257 | * Generic Driver: https://review.openstack.org/447257 | ||
− | * Cyborg-Nova: https://review.openstack.org/448228 | + | * 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 | * Sandbox: https://review.openstack.org/461220, https://review.openstack.org/444999 | ||
− | ==Initial Architecture== | + | ===Pike/Queens Initial Architecture=== |
[[File: Cyborg_arch_correct_1.0.png|300px|center|thumb|Cyborg Architecture 1.0]] | [[File: Cyborg_arch_correct_1.0.png|300px|center|thumb|Cyborg Architecture 1.0]] | ||
+ | ==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/ | ||
+ | |||
+ | Quantum Open Source Foundation: https://qosf.org/ | ||
+ | |||
+ | 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== | + | ==Meeting/Materials== |
* Please refer to [[Meetings/CyborgTeamMeeting]] for meeting agenda and logistic info | * 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/MeetingLogs]] for meeting minutes archives. | ||
* Please refer to [[Cyborg/FirstContact]] for local on-boarding meeting agenda and logistic info | * Please refer to [[Cyborg/FirstContact]] for local on-boarding meeting agenda and logistic info | ||
+ | |||
+ | ==Team Photo== | ||
+ | |||
+ | [[File:Cyborg_team_photo_denver.jpeg|thumb|center]] | ||
+ | [[File:Cyborg team photo dublin.jpg|thumb|center]] | ||
+ | [[File:Cyborg team photo denver 2018.jpg|thumb|center]] | ||
==How to contribute== | ==How to contribute== | ||
Line 35: | Line 86: | ||
Cyborg is designed to use the same tools for submission and review as other OpenStack projects. As such we follow the [http://docs.openstack.org/infra/manual/developers.html#development-workflow OpenStack development workflow]. New contributors should follow the [http://docs.openstack.org/infra/manual/developers.html#getting-started getting started] steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries. | Cyborg is designed to use the same tools for submission and review as other OpenStack projects. As such we follow the [http://docs.openstack.org/infra/manual/developers.html#development-workflow OpenStack development workflow]. New contributors should follow the [http://docs.openstack.org/infra/manual/developers.html#getting-started getting started] steps before proceeding, as a Launchpad ID and signed contributor license are required to add new entries. | ||
+ | |||
+ | New contributors can follow this guide [https://docs.openstack.org/cyborg/latest/contributor/devstack_setup.html#devstack-quick-start DevStack Quick Start] to setup cyborg environment. | ||
The Cyborg Launchpad page can be found at https://launchpad.net/openstack-cyborg. | The Cyborg Launchpad page can be found at https://launchpad.net/openstack-cyborg. |
Revision as of 02:30, 25 December 2018
Contents
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 GPU, FPGA, ASIC, NP, SoCs, NVMe/NOF SSDs, ODP, DPDK/SPDK and so on).
Rocky Subteam Co-leads
- Release: Howard Huang
- Doc: Yumeng Bao/Li Liu
- Driver: Shaohe Feng/Li Liu
Rocky Community Goals
- Mutable Config: Done (https://review.openstack.org/559303)
- Mox/Mox3 Removal: Done
Rocky Overall Design
- Cyborg-Nova Finish Up: https://review.openstack.org/554717
- Metadata Standardization: https://review.openstack.org/558265
- FPGA Programming Support: https://review.openstack.org/559395
- os-acc: https://review.openstack.org/566798
- Quota: https://review.openstack.org/560285
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
Pike/Queens Initial Architecture
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:
FD.IO: https://fd.io/
SPDK: http://www.spdk.io/
Oak Ridge National Lab Quantum Computing Acceleration: https://ornl-qci.github.io/xacc/
Quantum Open Source Foundation: https://qosf.org/
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
Team Photo
How to contribute
- git clone https://git.openstack.org/openstack/cyborg
- Make the changes to your entry, be sure to include what’s changed and why
- Commit the change for review
- 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.
New contributors can follow this guide DevStack Quick Start to setup cyborg environment.
The Cyborg Launchpad page can be found at https://launchpad.net/openstack-cyborg.