MANTECH
Thunder Compute
Software Engineer (C++ Systems)
Unternehmen
Die Welt baut derzeit massive GPU-Kapazitäten auf. Dennoch sind die eingesetzten GPUs nur zu 20% ausgelastet.
Dies liegt daran, dass GPUs nicht virtualisiert sind, während dies bei jeder anderen Art von Hardware der Fall ist. CPUs und Speicher werden beispielsweise über virtuelle Abstraktionen zugewiesen, die die physische Hardware effizient verwalten, während GPUs statisch auf einer Eins-zu-eins-Basis zugewiesen werden.
Thunder Compute entwickelt diese Virtualisierungsschicht für GPUs. Wir haben über $17.5M von Matrix Partners, Y Combinator sowie führenden Angels von Coreweave, Microsoft, Cognition und Anthropic eingesammelt.
Führende Lösungen gegen Unterauslastung setzen auf der Workload-Ebene an und können daher nur spezifische Anwendungsfälle optimieren. Wir sind der Überzeugung, dass die ideale Lösung zur Cluster-Optimierung für Entwickler unsichtbar und mit allen Workloads kompatibel sein muss; daher muss sie auf der Systemebene angesiedelt sein.
Wir sind ein Team von Systemforschern, das modernste Forschung zur GPU-Virtualisierung in die Produktion überführt, um diese universelle Optimierungsschicht zu entwickeln.
Konkret abstrahiert unsere Virtualisierungsbibliothek GPUs über TCP-Netzwerke. Wir verwenden eine Userspace-Shim-Bibliothek, die über LD_PRELOAD geladen wird, um CUDA-Aufrufe abzufangen und sie über gRPC an einen Host-Server zu senden, der an anderer Stelle im Rechenzentrum mit einer physischen GPU verbunden ist.
Dies ermöglicht etwas wie „Ceph für GPUs“: GPUs werden zu Netzwerkressourcen, die abstrahiert, gepoolt und dynamisch über einen Cluster hinweg zugewiesen werden können, um die Auslastung zu verbessern, ohne dass Entwickler ihre Workloads anpassen müssen.
Rolle
Ihre Arbeit konzentriert sich auf den Aufbau der zentralen C++-Systeme hinter unserer Virtualisierungsschicht. Dies umfasst Performance-Optimierung mit geringer Latenz, das Debugging verteilter Systeme, Produktionszuverlässigkeit sowie die Erforschung neuer Techniken zur Verbesserung der GPU-Auslastung.
Sie übernehmen die Verantwortung für komplexe Systeme von der frühen Experimentierphase bis hin zum produktiven Einsatz. Beispielprojekte könnten sein:
- Profiling und Reduzierung der Latenz bei Remote-CUDA-Operationen
- Aufbau von Hochleistungs-Netzwerk- und Datentransferpfaden
- Debugging von Fehlern in Kundenprozessen, unserer Userspace-Runtime, dem Netzwerk und Remote-GPU-Servern
- Verbesserung der Unterstützung für Process-Forking, Signale, Multithreading, dynamisches Linken und ungewöhnliches Anwendungsverhalten
- Entwurf von Systemen für GPU-Zuweisung, Scheduling, Fehlerbehebung und Observability
- Erforschung und Operationalisierung neuer Techniken zur GPU-Virtualisierung und Oversubscription
- Erweiterung der Kompatibilität über CUDA-Anwendungen, Frameworks und GPU-Architekturen hinweg
Sie werden Ihre Zeit damit verbringen, zwischen den Details komplexer, performancekritischer Systeme zu wechseln, die live in der Produktion laufen. In einer Woche verfolgen Sie vielleicht einen Synchronisationsfehler in einem verteilten CUDA-Workload; in der nächsten gestalten Sie möglicherweise einen Hot-Data-Pfad um, um Overhead im Mikrosekundenbereich zu eliminieren.
Diese Arbeit ist nicht einfach. Sie verbindet die schwierigsten Aspekte der Systemforschung mit Production Engineering.
Mindestanforderungen
Wir suchen außergewöhnliche Talente im Bereich Low-Level-Engineering, eine starke Arbeitsmoral und extreme Liebe zum Detail. Wir müssen uns schnell bewegen und gleichzeitig qualitativ hochwertigen, zuverlässigen Systemcode ausliefern.
Kerntechnische Fähigkeiten
- Außergewöhnliche Fähigkeiten in modernem C++, einschließlich Speicherverwaltung, Nebenläufigkeit, Performance-Optimierung und Design von Abstraktionen auf Systemebene
- Fundiertes Verständnis von Betriebssystemen, Low-Level-Netzwerken, Compilern, verteilten Systemen oder Computerarchitektur
- Erfahrung im Aufbau und Betrieb von performancekritischen C++-Systemen in der Produktion
- Starke Fähigkeiten in der Systemprogrammierung und im Debugging unter Linux
- Fähigkeit, sich in unbekannte Systeme über mehrere Schichten des Stacks hinweg einzuarbeiten
Must-haves
- Starke Arbeitsmoral und die Fähigkeit, ein Projekt eigenständig von einem experimentellen Prototyp bis zur 100% Fertigstellung unter engen Fristen voranzutreiben
- Liebe zum Detail und die Fähigkeit, produktionsreifen, gründlich getesteten Code ohne nennenswerte Aufsicht zu liefern
- Starkes Verantwortungsbewusstsein für Korrektheit, Zuverlässigkeit, Performance und operative Ergebnisse
- Fähigkeit, mehrdeutige Probleme ohne klare Reproduktion, bestehendes Playbook oder offensichtlichen Verantwortlichen zu debuggen
- Bereitschaft, direkt mit Kunden zusammenzuarbeiten und schwierige Produktionsfehler zu untersuchen
Wünschenswert
- Erfahrung mit CUDA, GPU-Systemen, Compilern, Runtime-Interception, dynamischem Linken, Hochleistungs-Netzwerken oder verteiltem Rechnen
- Erfahrung bei einer Handelsfirma wie Citadel Securities oder Jane Street; einem Hardware- oder KI-Infrastrukturunternehmen wie NVIDIA oder SambaNova; einer Systemforschungsgruppe oder einer ähnlich anspruchsvollen Engineering-Umgebung
- Starke Informatik-Grundlagen, nachgewiesen durch akademische Arbeit, Systemforschung, Wettbewerbsprogrammierung, Open-Source-Beiträge oder außergewöhnliche berufliche Erfahrung
- Erfahrung darin, neue Systemforschung von einem Paper oder Prototyp in ein zuverlässiges Produktionssystem zu überführen
Warum Sie bei uns einsteigen sollten
Sie steigen früh genug ein, um die Architektur, die Engineering-Standards und die technische Ausrichtung des Unternehmens maßgeblich mitzugestalten.
Sie arbeiten direkt mit den Gründern an einem kategorieprägenden Systemproblem, mit einem kurzen Weg zwischen dem Schreiben von Code und dessen Ausführung in der Produktion. Die Systeme, die Sie bauen, bilden das Fundament einer neuen Infrastrukturschicht für GPU-Computing.
Logistik
Sie berichten an den Mitgründer und CTO Brian Model, ehemals Quantitative Developer bei Citadel Securities.
Diese Rolle ist in Vollzeit und vor Ort, fünf Tage pro Woche, in unserem Büro in der Innenstadt von San Francisco.
Unterstützung bei der Relocation und Visa-Sponsoring sind verfügbar.
Benefits
- $250K - $325K Grundgehalt, bis zu $500K Jahresbonus und 0.2% - 0.4% Equity
- Tägliches Mittagessen, Snacks und Kaffee
- Team-Abendessen und Events
- 401(k)
- Kranken-, Zahn- und Augenversicherung
