A Ava é um sistema de pesquisa para virtualizar aceleradores gerais controlados pela API automaticamente, desenvolvido no SCEA Lab na Universidade do Texas em Austin. A AVA é prototipada em KVM e Qemu, comprometendo a compatibilidade com a automação para sistemas clássicos de remoção de API e introduzindo interposição de hipervisor para gerenciamento de recursos e forte isolamento.
Este repositório é a principal base de código da AVA. Hospedamos o Linux Kernel personalizado, Qemu, LLVM, e conjuntos de benchmarks em repositórios separados.
Estamos refatorando o código AVA para melhor extensibilidade e amizade com desenvolvedores. A refatoração quebra algumas funcionalidades neste momento, mas elas estão voltando.
git clone [email protected]:utcs-scea/ava.git
cd ava
git submodule update --init --recursive
Ava foi totalmente testada no Ubuntu 18.04 (Linux 4.15) com o GCC 7.5.0, Python 3.6.9, Boost 1.71.x, cmake 3.19.1 e Protobuf 3.0-3.9. O sistema também funciona no Ubuntu 16.04 com atendimento adicional do Python 3.6 e Clang-7 para scripts CAVA, mas não mantemos mais o suporte. Planejamos migrar Ava para o Ubuntu 20.04.
Os seguintes hardware e APIs são virtualizados com Ava (excluindo o encaminhamento de Python implementado manualmente):
Estrutura da API | Hardware |
---|---|
OpenCl 1.2 | NVIDIA GTX 1080 / AMD RX 580 |
CUDA 10.0 (motorista) | Nvidia GTX 1080 |
CUDA 10.0 (tempo de execução) | Nvidia GTX 1080 |
Tensorflow 1.12 c | Intel Xeon E5-2643 |
Tensorflow 1.14 Python | Nvidia GTX 1080 |
Ncsdk v2 | Intel Movidius NCS V1 e V2 |
GTI SDK 4.4.0.3 | Plugue de plai gyrfalcon 2803 |
Quickassist 1.7 | Intel Quickassist |
FPGA personalizado em Amorphos | AWS F1 |
Para o status do suporte, consulte o documento de construção e configuração.
Yu, Hangchen, Arthur M. Peters, Amogh Akshintala e Christopher J. Rossbach. "Ava: Virtualização acelerada dos aceleradores." Em Anais da 25ª Conferência Internacional sobre Suporte Arquitetônico para Línguas de Programação e Sistemas Operacionais, pp. 807-825. ACM, 2020.
Yu, Hangchen, Arthur M. Peters, Amogh Akshintala e Christopher J. Rossbach. "Virtualização automática de aceleradores". Em Proceedings of the Workshop sobre tópicos quentes em sistemas operacionais, pp. 58-65. ACM, 2019.
Nome | Afiliação | Papel | Contato |
---|---|---|---|
Hangchen yu | Facebook e UT Austin | Desenvolvedor principal | [email protected] |
Arthur M. Peters | Katana Graph & ut Austin | Desenvolvedor principal | [email protected] |
AMOGH AKSHINTALA | Facebook e UNC | ||
Zhiting Zhu | Ut Austin | ||
Tyler Hunt | Katana Graph & ut Austin | ||
Christopher J. Rossbach | UT Austin & Katana Graph & VMware Research | Consultor | [email protected] |