Hermes: um protótipo de ferramenta de entrega serverless com suporte para GPUs
Nos últimos anos, as GPUs têm ganhado cada vez mais importância na comunidade científica e
na indústria. Apesar disso, o fluxo de desenvolvimento de aplicações aceleradas por GPUs se mantém
com diversos inconvenientes. Um desses é a configuração do ambiente de desenvolvimento: tanto
o desenvolvimento local quanto o remoto trazem consigo atritos para compilar e executar código.
A alternativa local exige disponibilidade de uma GPU por programador, além de configuração
de drivers e kits de desenvolvimento; a alternativa remota exige acesso via SSH e alterações no
código com editores de linha de comando. Paralelamente a isso, tem crescido na indústria o uso do
paradigma serverless, que consiste em um modelo de execução de aplicações em que grande parte
da configuração do ambiente de execução é abstraído do desenvolvedor.
Dado este contexto, o objetivo deste projeto é criar um protótipo do que chamamos de Hermes,
uma ferramenta de entrega serverless de execuções, com suporte para linguagens CUDA e C++ e
possibilidade do uso de GPUs. Espera-se, com a utilização do Hermes, amenizar o atrito no fluxo
de desenvolvimento para GPUs.