https://github.com/efeslab/optimus-hypervisor
https://github.com/efeslab/optimus-hypervisor
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/efeslab/optimus-hypervisor
- Owner: efeslab
- Created: 2019-12-04T07:07:33.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-03-17T22:23:48.000Z (over 5 years ago)
- Last Synced: 2025-02-27T03:19:13.098Z (over 1 year ago)
- Size: 19.5 KB
- Stars: 19
- Watchers: 8
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Optimus: A Hypervisor for Shared-Memory FPGA Platforms
All of the source code for Optimus is open source, and is comprised of the following components:
**Optimus Hypervisor**
- https://github.com/efeslab/optimus-host-module
- The Optimus Hypervisor is provided as a host kernel module.
**Hardware Monitor**
- https://github.com/efeslab/optimus-intel-fpga-bbb/tree/master/BBB_vai_mux_nested/hw
- The hardware monitor is provided as a basic building block (BBB).
**Guest Driver**
- https://github.com/efeslab/optimus-guest-driver
- The guest driver is provided as a guest kernel module, which drives the virtualized accelerator.
**Guest Core Library**
- https://github.com/efeslab/optimus-opae-sdk
- The guest core library is embedded in the Intel OPAE SDK.
**Guest MPF Library**
- https://github.com/efeslab/optimus-intel-fpga-bbb/tree/master/BBB_cci_mpf/sw
- MPF is a software/hardware library which provides a group of memory properties such as memory ordering. We have modified the library to support virtual accelerators.
**Benchmarks**
- MemBench, LinkedList, SSSP, and Bitcoin can be found in https://github.com/efeslab/optimus-intel-fpga-bbb/tree/master/samples/tutorial. We additionally include our ports of three benchmarks from HardCloud (grayscale, sobel, and gaussian) in this repository, as these benchmarks required significant changes to run on our platform.
- The hardware portion of the remaining HardCloud benchmarks can be found in https://github.com/efeslab/hardcloud. The software portion of these benchmarks can be found in https://github.com/efeslab/hardcloud_no_openmp. Note that the benchmarks are compiled without OpenMP support.
- The synthesis configuration for these benchmarks can be found in https://github.com/efeslab/optimus-intel-fpga-bbb/tree/master/samples/tutorial/synth_config.
**Setup Guide**
- Our code is developed and tested using the hardware and software specificed [here](hardware-and-software-requirements.md).
- A step-by-step tutorial is available [here](setup-from-scratch-guide.md) to help you build everything from scratch.
- Some scripts we used in our experiment can be found [here](https://github.com/efeslab/optimus-scripts).
- The definition of Optimus's preemption interface can be found [here](https://github.com/efeslab/optimus-hypervisor/blob/master/preemption-interface.md).
- A brief guide for pass-through setup can be found [here](https://github.com/efeslab/optimus-hypervisor/blob/master/pass-through-setup-guide.md).