Coder Social home page Coder Social logo

imcg / ava Goto Github PK

View Code? Open in Web Editor NEW

This project forked from utcs-scea/ava

0.0 1.0 0.0 1016 KB

Automatic virtualization of (general) accelerators.

License: BSD 2-Clause "Simplified" License

C 87.52% Makefile 0.03% C++ 6.91% Shell 0.19% GDB 0.01% Python 4.30% CMake 1.04%

ava's Introduction

Automatic Virtualization of Accelerators

AvA is a research system for virtualizing general API-controlled accelerators automatically, developed in SCEA lab at University of Texas at Austin. AvA is prototyped on KVM and QEMU, compromising compatibility with automation for classic API remoting systems, and introducing hypervisor interposition for resource management and strong isolation.

This repository is the main codebase of AvA. We host customized Linux kernel, QEMU, LLVM, and sets of benchmarks in separate repositories.

We are refactoring AvA code for better extensibility and developer-friendliness. The refactoring breaks a few functionalities at this moment, but they are coming back.

Setup code tree

git clone [email protected]:utcs-scea/ava.git
cd ava
git submodule update --init --recursive

Documentations

Install

System requirements

AvA was fully tested on Ubuntu 18.04 (Linux 4.15) with GCC 7.5.0, Python 3.6.9, Boost 1.65.x, cmake 3.19.1 and Protobuf 3.0-3.9. The system also works in Ubuntu 16.04 with additional care of Python 3.6 and Clang-7 installation for CAvA scripts, but we do not maintain the support anymore. We plan to migrate AvA to Ubuntu 20.04.

Hardware and API

The following hardware and APIs are virtualized with AvA (excluding manually implemented Python forwarding):

API framework Hardware
OpenCL 1.2 NVIDIA GTX 1080 / AMD RX 580
CUDA 10.0 (driver) NVIDIA GTX 1080
CUDA 10.0 (runtime) NVIDIA GTX 1080
TensorFlow 1.12 C Intel Xeon E5-2643
TensorFlow 1.14 Python NVIDIA GTX 1080
NCSDK v2 Intel Movidius NCS v1 & v2
GTI SDK 4.4.0.3 Gyrfalcon 2803 Plai Plug
QuickAssist 1.7 Intel QuickAssist
Custom FPGA on AmorphOS AWS F1

For the status of support, please check out Build and Setup document.

Related repositories

Publications

Yu, Hangchen, Arthur M. Peters, Amogh Akshintala, and Christopher J. Rossbach. "AvA: Accelerated Virtualization of Accelerators." In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 807-825. ACM, 2020.

Yu, Hangchen, Arthur M. Peters, Amogh Akshintala, and Christopher J. Rossbach. "Automatic Virtualization of Accelerators." In Proceedings of the Workshop on Hot Topics in Operating Systems, pp. 58-65. ACM, 2019.

Developers and contributors

Name Affiliation Role Contact
Hangchen Yu Facebook & UT Austin Main developer [email protected]
Arthur M. Peters Katana Graph & UT Austin Main developer [email protected]
Amogh Akshintala Facebook & UNC
Zhiting Zhu UT Austin
Tyler Hunt Katana Graph & UT Austin
Christopher J. Rossbach UT Austin & Katana Graph & VMware Research Advisor [email protected]

ava's People

Contributors

aakshintala avatar photoszzt avatar vancemiller avatar yuhc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.