Apple
Thunder Compute
Engenheiro de Software (Sistemas C++)
Empresa
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.
O Papel
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:
- Perfilamento e redução de latência em operações remotas de CUDA
- Construção de caminhos de rede e transferência de dados de alto desempenho
- Depuração de falhas em processos de clientes, nosso runtime de espaço de usuário, a rede e servidores de GPU remotos
- Melhoria do suporte para forking de processos, sinais, multithreading, vinculação dinâmica e comportamento incomum de aplicações
- Projeto de sistemas para alocação de GPU, agendamento, recuperação de falhas e observabilidade
- Pesquisa e colocação em produção de novas técnicas de virtualização e sobre-assinatura de GPU
- Expansão da compatibilidade entre aplicações, frameworks e arquiteturas de GPU CUDA
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.
Requisitos mínimos
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.
Habilidades Técnicas Principais
- Habilidade excepcional em C++ moderno, incluindo gerenciamento de memória, concorrência, otimização de desempenho e design de abstração em nível de sistema
- Conhecimento profundo de sistemas operacionais, rede de baixo nível, compiladores, sistemas distribuídos ou arquitetura de computadores
- Experiência na construção e operação de sistemas C++ críticos para o desempenho em produção
- Forte habilidade em programação e depuração de sistemas Linux
- Capacidade de raciocinar sobre sistemas desconhecidos em várias camadas da pilha
Requisitos Obrigatórios
- Forte ética de trabalho e capacidade de levar um projeto de forma independente desde um protótipo experimental até a conclusão em 100% sob prazos apertados
- Atenção aos detalhes e capacidade de entregar código pronto para produção, minuciosamente testado, sem supervisão significativa
- Forte senso de propriedade sobre correção, confiabilidade, desempenho e resultados operacionais
- Capacidade de depurar problemas ambíguos sem uma reprodução clara, manual existente ou proprietário óbvio
- Disposição para trabalhar diretamente com clientes e investigar falhas difíceis em produção
Diferenciais
- Experiência com CUDA, sistemas de GPU, compiladores, interceptação de runtime, vinculação dinâmica, rede de alto desempenho ou computação distribuída
- Experiência em uma empresa de trading como Citadel Securities ou Jane Street; uma empresa de hardware ou infraestrutura de IA como NVIDIA ou SambaNova; um grupo de pesquisa de sistemas; ou um ambiente de engenharia igualmente exigente
- Fundamentos sólidos de ciência da computação demonstrados por meio de trabalho acadêmico, pesquisa de sistemas, programação competitiva, contribuições de código aberto ou experiência profissional excepcional
- Experiência em levar novas pesquisas de sistemas de um artigo ou protótipo para um sistema de produção confiável
Por que se juntar a nós
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.
Logística
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
Benefícios
- Salário base de US$ 250 mil a US$ 325 mil, bônus anual de até US$ 500 mil e 0.2% - 0.4% em equity
- Almoço diário, lanches e café
- Jantares e eventos da equipe
- 401(k)
- Seguro saúde, odontológico e oftalmológico
