Pular para o conteúdo

Normal Computing Corporation

Engenheiro de Backend de Compiladores

PythonC++Rust
Tradução automática. Consulte o original.

Sobre a oportunidade

Normal Computing | Construa Conosco

A Função

A Normal é uma empresa de IA aplicada que resolve os problemas mais difíceis em IA e silício. Construímos hardware e software fundamentais para a indústria de semicondutores, infraestrutura crítica de IA e os sistemas mais amplos que impulsionam nosso mundo, em parceria com as instituições mais avançadas do mundo. Trabalhamos como uma equipe única em Nova York, Silicon Valley (Mountain View), Londres, Copenhague e Seul.

O hardware da Normal executa as partes de inferência de modelos grandes que mais dependem de memória dentro da própria memória, em vez de transferir pesos para um processador. O software que torna isso programável ainda não existe em nenhuma forma padrão. Fazer um modelo funcionar corretamente nesse hardware é o trabalho do frontend; torná-lo rápido é o seu. Nosso hardware não se parece com uma CPU ou GPU, portanto, seu backend de compilador não pode ser emprestado de um. Como Engenheiro de Compiladores focado no backend, você ajudará a projetar e construir a compilação personalizada que mapeia a inferência de LLM nele, desde o agendamento e planejamento de memória até o código que nosso hardware realmente executa.

Você trabalhará na fronteira entre o compilador e o hardware, próximo o suficiente para saber quando uma otimização pertence a uma camada diferente ou quando a resposta certa é uma nova abstração. Nosso chip é pré-silício, então você medirá seu trabalho em relação aos nossos simuladores e protótipos de FPGA primeiro, e em relação ao silício à medida que ele chegar.

O Que Você Irá Liderar

  1. Geração de Código: Construa as passagens que transformam programas reduzidos no código que nosso hardware executa, projetando novas abordagens de compilação onde as convencionais não se encaixam. O sucesso significa código correto e eficiente para cada operação que nossos modelos precisam.
  1. Agendamento e Planejamento de Memória: Seja responsável por como o trabalho e os dados são agendados e alocados nos recursos do nosso hardware, medidos pela utilização e latência de ponta a ponta na inferência de LLM.
  1. Fusão e Despacho: Seja responsável pelas decisões de fusão e despacho para a inferência de LLM, para que o hardware gaste seu tempo computando em vez de mover dados.
  1. Co-design de Hardware: Trabalhe na camada de abstração entre o compilador e o hardware, e forneça restrições do compilador de volta aos nossos arquitetos de hardware enquanto o design ainda pode ser alterado.
  1. Perfil e Validação: Valide cada otimização com resultados medidos de simuladores, protótipos de FPGA e, em seguida, silício, e mantenha uma suíte de regressão de desempenho na qual a equipe confia.
  1. Transferências entre Equipes: Receba programas reduzidos de nossos engenheiros de compiladores de frontend e decida com a equipe quais operações o compilador gera e quais usam kernels ajustados manualmente.

O Que Faz de Você um Ótimo Candidato

  1. Experiência profunda com otimização de compiladores ou geração de código para aceleradores ou outros alvos que não sejam CPU: agendamento, tiling, fusão ou alocação de recursos
  1. Conforto em trabalhar próximo ao hardware: você pensa em termos de largura de banda de memória e utilização, bem como complexidade assintótica
  1. Disposição para projetar abordagens de compilação a partir de princípios fundamentais quando as existentes não se encaixam no hardware
  1. Histórico de entrega de otimizações que moveram um número de desempenho medido
  1. Conforto em construir software para hardware que ainda está evoluindo, desde a simulação até o bring-up
  1. Fluência em Python e familiaridade com C, C++ ou Rust

Pontos Extras

  1. Experiência com a pilha de compilação do PyTorch (TorchDynamo, FX, Inductor, torch.export) ou outros compiladores de ML, como IREE, TVM ou XLA
  1. Experiência em compilação para alvos de computação em memória, espacial ou outros alvos que não sejam von-Neumann
  1. Experiência em ferramentas de design de hardware, como síntese lógica ou place-and-route
  1. Experiência na construção ou uso de simuladores de nível de ciclo ou de desempenho para orientar decisões de otimização
  1. Contribuições para infraestrutura de compilador ou kernel de código aberto (por exemplo, PyTorch, Triton, TVM, MLIR, LLVM)
  1. Publicação ou apresentação de trabalho de compilador ou desempenho em eventos como MLSys, ASPLOS ou CGO

Declaração de Igualdade de Oportunidades de Emprego

A Normal Computing é um empregador que oferece igualdade de oportunidades. Celebramos a diversidade e estamos comprometidos em criar um ambiente inclusivo para todos os funcionários. Todos os candidatos qualificados serão considerados para emprego sem distinção de raça, cor, religião, sexo, orientação sexual, identidade de gênero, origem nacional, deficiência, status de veterano ou qualquer outro status legalmente protegido.

Acomodações de Acessibilidade

A Normal Computing está comprometida em fornecer acomodações razoáveis para indivíduos com deficiência. Se você precisar de assistência ou de uma acomodação devido a uma deficiência, por favor, nos informe em accommodations@normalcomputing.com.

Aviso de Privacidade

Ao enviar sua candidatura, você concorda que a Normal Computing pode coletar, usar e armazenar suas informações pessoais para fins relacionados ao emprego, de acordo com nosso Aviso de Privacidade para Candidatos.

Mais oportunidades com um só perfil

Quer aparecer para várias vagas sem repetir todo o processo? Crie seu perfil e seja encontrado pelas empresas que usam a Nort.

Criar meu perfil

Vagas Dev é mantido gratuitamente pela equipe NortJobs.

Seu próximo empregopode estar na NortJobs.

Vagas Dev

Vagas para desenvolvedores e programadores. Brasil em primeiro lugar. Sua próxima oportunidade.

NortJobs · mantenedoraInstagramLinkedInTwitter
LegalSobre o projetoPrivacidadeVagas Dev © 2026