Software Engineer, AI Accelerator Runtime
Build the low-level runtime for a custom AI accelerator, including kernel scheduling, device memory management, synchronization, and hardware-software interfaces. The role requires strong systems programming experience and expertise in concurrency, memory semantics, simulation, and performance debugging.
About the job
Responsibilities
- Design and implement the low-level device runtime for OpenAI custom silicon.
- Build kernel-launch scheduling, command submission, queueing, dependency tracking, and completion handling.
- Manage device memory spaces, allocation, virtual-to-physical mappings, data movement, and lifetimes across concurrent workloads.
- Implement synchronization primitives, events, barriers, streams, and ordering guarantees.
- Define interfaces between the runtime, drivers, firmware, compiler-generated code, kernels, and higher-level execution systems.
- Use event-based, cycle-accurate simulators to develop, validate, debug, and tune runtime behavior before and after silicon availability.
- Diagnose concurrency, memory-ordering, deadlock, race, correctness, and performance issues across software and hardware boundaries.
- Build tests, tracing, profiling, observability, and reproducible workloads for runtime correctness and performance.
- Partner with architecture and silicon teams on hardware-software interface improvements.
Requirements
- Strong low-level systems programming experience in C, C++, Rust, or comparable environments.
- Experience building runtimes, drivers, firmware, operating-system components, accelerator software, or adjacent systems infrastructure.
- Understanding of concurrency, synchronization, asynchronous execution, queues, events, and memory-ordering semantics.
- Understanding of memory management, address spaces, DMA, caching, coherency, and hardware-software interfaces.
- Hands-on experience with event-based, cycle-accurate simulators or related architectural and performance models.
- Ability to reason quantitatively about scheduling, latency, throughput, utilization, contention, and resource tradeoffs.
- Skilled at debugging issues spanning software abstractions, device interfaces, and hardware behavior.
- Ability to work across compiler, kernel, architecture, verification, firmware, and silicon teams.
Additional Information
- Candidates may need to meet legal status requirements under U.S. export control laws and regulations.
Skills
C, C++, Rust, Concurrency, Synchronization, Dma, Caching, Memory Management, Operating Systems, Device Drivers, Firmware, Cycle-Accurate Simulation, Profiling, Virtual Memory
Similar jobs
Embedded Engineering jobsLeads systems software bringup and validation for new AI silicon, developing diagnostics, automation, observability, and stress infrastructure from first power-on through integrated model execution. The role requires low-level programming, computer architecture knowledge, hardware-software debugging, and cross-functional technical leadership.
Build and harden OS foundations for AI consumer devices, spanning kernel, services, security, performance, and application interfaces. Requires strong systems programming in C/C++, kernel experience, and debugging skills.
Develops real-time perception, sensor-control, and fusion software for heterogeneous autonomous vehicle platforms, integrating ML algorithms across sensors and embedded systems. Requires advanced engineering education or 5+ years of relevant experience, multi-modal sensing expertise, Linux/Docker proficiency, and U.S. security-clearance eligibility.
Develops operating-system platforms, device drivers, and infrastructure for autonomous-vehicle robotics systems. The role requires 4+ years of production software experience, strong Linux internals expertise, and proficiency in C/C++ plus scripting languages.
Develops reliable embedded software and custom device solutions, integrating vendor components, sensors, operating systems, and communication interfaces. Requires a bachelor's degree and at least three years of relevant experience with C/C++, embedded Linux, debugging, and CI/CD tools.