AVA est un système de recherche pour virtualiser automatiquement les accélérateurs généraux contrôlés par l'API, développés dans SCEA Lab à l'Université du Texas à Austin. AVA est prototypé sur KVM et QEMU, compromettant la compatibilité avec l'automatisation pour les systèmes de téléménage API classiques et l'introduction d'une interposition hyperviseur pour la gestion des ressources et une forte isolation.
Ce référentiel est la base de code principale d'AVA. Nous hébergeons le noyau Linux personnalisé, le Qemu, le LLVM et les ensembles de repères dans des référentiels séparés.
Nous refactorisons le code AVA pour une meilleure extensibilité et une convivialité pour les développeurs. Le refactorisation rompt quelques fonctionnalités en ce moment, mais ils reviennent.
git clone [email protected]:utcs-scea/ava.git
cd ava
git submodule update --init --recursive
AVA a été entièrement testé sur Ubuntu 18.04 (Linux 4.15) avec GCC 7.5.0, Python 3.6.9, Boost 1.71.x, CMake 3.19.1 et Protobuf 3.0-3.9. Le système fonctionne également dans Ubuntu 16.04 avec des soins supplémentaires de l'installation de Python 3.6 et Clang-7 pour les scripts CAVA, mais nous ne maintenons plus le support. Nous prévoyons de migrer Ava vers Ubuntu 20.04.
Le matériel et les API suivants sont virtualisés avec AVA (à l'exclusion de la transmission Python implémentée manuelle):
Cadre API | Matériel |
---|---|
Opencl 1.2 | Nvidia GTX 1080 / AMD RX 580 |
CUDA 10.0 (conducteur) | 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 |
Quickassist 1.7 | Intel Quickassist |
FPGA personnalisé sur Amorphos | AWS F1 |
Pour l'état du support, veuillez consulter le document de construction et de configuration.
Yu, Hangchen, Arthur M. Peters, Amogh Akshintala et Christopher J. Rossbach. "Ava: Virtualisation accélérée des accélérateurs." Dans Actes de la 25e Conférence internationale sur le support architectural pour les langages de programmation et les systèmes d'exploitation, pp. 807-825. ACM, 2020.
Yu, Hangchen, Arthur M. Peters, Amogh Akshintala et Christopher J. Rossbach. "Virtualisation automatique des accélérateurs." Dans les actes de l'atelier sur les sujets chauds des systèmes d'exploitation, pp. 58-65. ACM, 2019.
Nom | Affiliation | Rôle | Contact |
---|---|---|---|
Hangchen yu | Facebook & Ut Austin | Développeur principal | [email protected] |
Arthur M. Peters | Katana Graph & Ut Austin | Développeur principal | [email protected] |
Amogh akshintala | Facebook et UNC | ||
Zhiting Zhu | UT Austin | ||
Tyler Hunt | Katana Graph & Ut Austin | ||
Christopher J. Rossbach | UT Austin & Katana Graph & VMware Research | Conseiller | [email protected] |