Aller au contenu

Thunder Compute

Ingénieur Logiciel (Systèmes C++)

C++
Traduction automatique. Consultez l’original.

Entreprise

Le monde construit une capacité GPU massive. Pourtant, les GPU déployés ne sont utilisés qu'à 20%.

Cela s'explique par le fait que les GPU ne sont pas virtualisés, contrairement à tous les autres types de matériel. Par exemple, les CPU et le stockage sont alloués via des abstractions virtuelles qui gèrent efficacement le matériel physique, tandis que les GPU sont alloués de manière statique sur une base un-pour-un.

Thunder Compute construit cette couche de virtualisation pour les GPU. Nous avons levé plus de 17.5 millions de dollars auprès de Matrix Partners, Y Combinator et d'investisseurs providentiels de premier plan issus de Coreweave, Microsoft, Cognition et Anthropic.

Les solutions actuelles pour remédier à la sous-utilisation se situent au niveau de la couche de charge de travail et ne peuvent donc optimiser que des cas d'utilisation spécifiques. Nous pensons que la solution idéale d'optimisation de cluster doit être invisible pour les développeurs et compatible avec toutes les charges de travail ; elle doit donc se situer au niveau de la couche système.

Nous sommes une équipe de chercheurs en systèmes qui industrialise la recherche de pointe en virtualisation GPU pour construire cette couche d'optimisation polyvalente.

Concrètement, notre bibliothèque de virtualisation abstrait les GPU via le réseau TCP. Nous utilisons une bibliothèque shim en espace utilisateur, chargée via LD_PRELOAD, pour intercepter les appels CUDA et les envoyer via gRPC vers un serveur hôte connecté à un GPU physique situé ailleurs dans le centre de données.

Cela permet de créer quelque chose comme un « Ceph pour GPU » : les GPU deviennent des ressources réseau qui peuvent être abstraites, mutualisées et allouées dynamiquement à travers un cluster pour améliorer l'utilisation sans obliger les développeurs à modifier leurs charges de travail.

Poste

Votre travail se concentrera sur la construction des systèmes C++ fondamentaux derrière notre couche de virtualisation. Cela inclut l'optimisation des performances à faible latence, le débogage de systèmes distribués, la fiabilité en production et la recherche de nouvelles techniques pour améliorer l'utilisation des GPU.

Vous prendrez en charge des systèmes complexes, de l'expérimentation initiale jusqu'au déploiement en production. Voici des exemples de projets :

  1. Profiler et réduire la latence des opérations CUDA distantes
  1. Construire des chemins de transfert de données et de mise en réseau haute performance
  1. Déboguer les défaillances à travers les processus clients, notre runtime en espace utilisateur, le réseau et les serveurs GPU distants
  1. Améliorer la prise en charge du forking de processus, des signaux, du multithreading, de l'édition de liens dynamique et des comportements d'application inhabituels
  1. Concevoir des systèmes pour l'allocation, la planification, la récupération après défaillance et l'observabilité des GPU
  1. Rechercher et industrialiser de nouvelles techniques de virtualisation et de surréservation GPU
  1. Étendre la compatibilité aux applications, frameworks et architectures GPU CUDA

Vous passerez vos journées à jongler avec les subtilités de systèmes complexes et critiques en termes de performance, actuellement en production. Une semaine, vous pourriez tracer un bug de synchronisation dans une charge de travail CUDA distribuée ; la suivante, vous pourriez reconcevoir un chemin de données critique pour éliminer des microsecondes de latence.

Ce travail n'est pas facile. Il combine les aspects les plus ardus de la recherche en systèmes et de l'ingénierie de production.

Prérequis

Nous recherchons un talent exceptionnel en ingénierie bas niveau, une solide éthique de travail et une attention extrême aux détails. Nous devons avancer rapidement tout en livrant un code système fiable et de haute qualité.

Compétences techniques clés

  1. Maîtrise exceptionnelle du C++ moderne, incluant la gestion de la mémoire, la concurrence, l'optimisation des performances et la conception d'abstractions au niveau système
  1. Compréhension approfondie des systèmes d'exploitation, de la mise en réseau bas niveau, des compilateurs, des systèmes distribués ou de l'architecture informatique
  1. Expérience dans la construction et l'exploitation de systèmes C++ critiques en production
  1. Solide capacité de programmation et de débogage système sous Linux
  1. Capacité à raisonner sur des systèmes inconnus à travers plusieurs couches de la pile technologique

Indispensables

  1. Solide éthique de travail et capacité à mener de manière autonome un projet, d'un prototype expérimental jusqu'à son achèvement à 100% dans des délais serrés
  1. Souci du détail et capacité à livrer un code prêt pour la production, minutieusement testé, sans supervision importante
  1. Forte appropriation de la justesse, de la fiabilité, des performances et des résultats opérationnels
  1. Capacité à déboguer des problèmes ambigus sans reproduction claire, manuel existant ou responsable identifié
  1. Volonté de travailler directement avec les clients et d'enquêter sur des défaillances de production complexes

Souhaitable

  1. Expérience avec CUDA, les systèmes GPU, les compilateurs, l'interception de runtime, l'édition de liens dynamique, la mise en réseau haute performance ou l'informatique distribuée
  1. Expérience au sein d'une société de trading telle que Citadel Securities ou Jane Street ; une entreprise d'infrastructure matérielle ou d'IA telle que NVIDIA ou SambaNova ; un groupe de recherche en systèmes ; ou un environnement d'ingénierie tout aussi exigeant
  1. Solides fondamentaux en informatique démontrés par des travaux académiques, de la recherche en systèmes, de la programmation compétitive, des contributions open-source ou une expérience professionnelle exceptionnelle
  1. Expérience dans le passage de la recherche en systèmes, d'un article ou d'un prototype à un système de production fiable

Pourquoi nous rejoindre

Vous nous rejoindrez assez tôt pour façonner de manière significative l'architecture, les normes d'ingénierie et l'orientation technique de l'entreprise.

Vous travaillerez directement avec les fondateurs sur un problème système qui définit une catégorie, avec un chemin court entre l'écriture du code et sa mise en production. Les systèmes que vous construirez formeront la base d'une nouvelle couche d'infrastructure pour le calcul GPU.

Logistique

Vous serez sous la responsabilité du co-fondateur et CTO Brian Model, ancien développeur quantitatif chez Citadel Securities

Ce poste est à temps plein et en présentiel, cinq jours par semaine, dans nos bureaux du centre-ville de San Francisco

Une aide à la relocalisation et un parrainage de visa sont disponibles

Avantages

  • Salaire de base de 250K à 325K $, bonus annuel jusqu'à 500K $ et 0.2% - 0.4% en capital
  • Déjeuner, collations et café offerts quotidiennement
  • Dîners et événements d'équipe
  • 401(k)
  • Assurance santé, dentaire et vision

Plus d’opportunités avec un seul profil

Vous souhaitez accéder à plus de postes sans répéter tout le processus ? Créez votre profil pour être trouvé par les entreprises utilisant Nort.

Créer mon profil

Vagas Dev est maintenu gratuitement par l’équipe NortJobs.

Votre prochain emploiest peut-être sur NortJobs.

Vagas Dev

Des emplois pour développeurs et programmeurs. Le Brésil en priorité. Votre prochaine opportunité.

NortJobs · soutien du projetInstagramLinkedInTwitter
Mentions légalesÀ propos du projetConfidentialitéVagas Dev © 2026