Amplify Energy Services LLC
Thunder Compute
O mundo está construindo quantidades massivas de capacidade de GPU. Enquanto isso, as GPUs implantadas são utilizadas apenas em 20%.
Isso ocorre porque as GPUs não são virtualizadas, enquanto todos os outros tipos de hardware são. Por exemplo, CPUs e armazenamento são alocados por meio de abstrações virtuais que gerenciam o hardware físico de forma eficiente, enquanto as GPUs são alocadas estaticamente em uma base de um para um.
Thunder Compute está construindo essa camada de virtualização para GPUs. Levantamos mais de US$ 17.5 milhões da Matrix Partners, Y Combinator e investidores anjo líderes da Coreweave, Microsoft, Cognition e Anthropic.
As principais soluções para a subutilização situam-se na camada de carga de trabalho e, portanto, só conseguem otimizar casos de uso específicos. Acreditamos que a solução ideal de otimização de cluster deve ser invisível para os desenvolvedores e compatível com todas as cargas de trabalho; portanto, deve situar-se na camada de sistemas.
Somos uma equipe de pesquisadores de sistemas que está colocando em produção pesquisas de ponta em virtualização de GPU para construir essa camada de otimização de propósito geral.
Concretamente, nossa biblioteca de virtualização abstrai GPUs via rede TCP. Usamos uma biblioteca shim de espaço de usuário, carregada via LD_PRELOAD, para interceptar chamadas CUDA e enviá-las via gRPC para um servidor host conectado a uma GPU física em outro local no data center.
Isso permite algo como um “Ceph para GPUs”: as GPUs tornam-se recursos de rede que podem ser abstraídos, agrupados e alocados dinamicamente em um cluster para melhorar a utilização sem exigir que os desenvolvedores modifiquem suas cargas de trabalho.
Seu trabalho focará na construção dos sistemas centrais em C++ por trás de nossa camada de virtualização. Isso inclui otimização de desempenho de baixa latência, depuração de sistemas distribuídos, confiabilidade em produção e pesquisa em novas técnicas para melhorar a utilização de GPU.
Você assumirá a responsabilidade por sistemas complexos desde a experimentação inicial até a implantação em produção. Exemplos de projetos podem incluir:
Você passará seus dias alternando entre os detalhes de sistemas complexos e críticos para o desempenho que estão ativos em produção. Em uma semana, você pode estar rastreando um bug de sincronização em uma carga de trabalho distribuída de CUDA; na outra, pode estar reprojetando um caminho de dados crítico para remover microssegundos de sobrecarga.
Este trabalho não é fácil. Ele combina as partes mais difíceis da pesquisa de sistemas e da engenharia de produção.
Procuramos talentos excepcionais em engenharia de baixo nível, forte ética de trabalho e extrema atenção aos detalhes. Precisamos nos mover rapidamente enquanto entregamos código de sistemas confiável e de alta qualidade.
Você se juntará cedo o suficiente para moldar significativamente a arquitetura, os padrões de engenharia e a direção técnica da empresa.
Você trabalhará diretamente com os fundadores em um problema de sistemas que define a categoria, com um caminho curto entre escrever código e vê-lo rodar em produção. Os sistemas que você construir formarão a base de uma nova camada de infraestrutura para computação em GPU.
Você se reportará ao cofundador e CTO Brian Model, anteriormente Desenvolvedor Quantitativo na Citadel Securities
Esta função é em tempo integral e presencial, cinco dias por semana, em nosso escritório no centro de San Francisco
Suporte à realocação e patrocínio de visto estão disponíveis
Plataforma de recrutamento reverso para programadores