Senior Software Engineer, Rendering Infrastructure (AV Simulation)
General Motors
- Location
- Sunnyvale, California, United States of America
- Work model
- On-Site
- Level
- Senior
- H-1B history
- 267 approvals (FY2023)
- Posted
- Aug 17, 2026
Skills
About this role
Job Description
Role Overview As a Senior Software Engineer on the Rendering Infrastructure team, you will build the systems that turn a GPU-accelerated, physically-based sensor simulator into a production platform — one that runs reproducibly, at cluster scale, and against production-representative autonomous vehicle interfaces. This is a systems role at the boundary of rendering, simulation, perception, and distributed infrastructure. You will connect the renderer to AV software stacks and compute clusters, reproduce real sensor scheduling and vehicle timing, run many worlds concurrently on a single GPU, and make the runtime start fast and stay cheap across thousands of workers. Your work determines whether closed-loop simulation — the vehicle software in the loop with the renderer, not just offline synthetic data generation — is trustworthy and affordable: whether a run reproduces, whether synthetic sensor feeds arrive with the same timing quirks the real vehicle sees, and how many scenarios we can execute per GPU-hour. We build in modern C++ and Python on Linux, with ROS, PyTorch, CUDA, NVIDIA OptiX, NVIDIA MDL, and OpenUSD. We're looking for someone who enjoys this layer — debugging nondeterminism across a process boundary, cutting cold-start time by changing how a runtime is packaged, and reasoning about GPU memory and IPC in the same conversation.
About the Team
The Rendering Infrastructure team owns the foundational systems the broader Rendering team builds on top of: asset and scene ingestion, GPU memory and resource management, acceleration structure construction, packaging and deployment, profiling infrastructure, and the core engine abstractions of our physically-based sensor simulation system. We also own how the renderer connects to the AV stack and world simulator, as a library or a service, and how consumers configure it — what it produces, at what fidelity, and how it behaves when something goes wrong. We sit between the rendering algorithms team and everyone who consumes simulated sensor data — perception training, closed-loop validation and reinforcement learning. We care about determinism, throughput per GPU, iteration speed, and infrastructure that stays comprehensible as it scales. Why Join Us? Work on hard systems problems with an unusually clear definition of success — reproducibility, timing fidelity, frames per second per GPU, and worker spin-up time are all measurable, and all of them matter. Own meaningful surface area: the AV stack integration and transport layer, the sensor scheduling and timing model, multi-world rendering on a single GPU, or the runtime deployment and asset delivery path, depending on your strengths. Sit at the center of the simulation stack, where rendering, perception, and infrastructure meet, and see your work used across the organization for perception training, closed-loop simulation, and reinforcement learning. Join a team that pairs rigor — design documents, reproducibility, profiling, and regression testing — with pragmatic engineering and short feedback loops.
What You'll Do
You will own one or more of the following areas and contribute across the others, depending on your strengths and team priorities. Connect the renderer to AV software stacks and compute clusters — designing low-latency, high-bandwidth transport using ROS/ROS 2, shared-memory IPC, gRPC, and sockets with appropriate serialization formats, and streaming multi-sensor payloads into the autonomous vehicle stack. Integrate the renderer with learned driving models through Gymnasium-style environment APIs — stepping the simulation from Python, exchanging observations and actions efficiently with PyTorch-based models, and preserving deterministic execution while minimizing per-step overhead for eval and training at scale. Integrate the runtime with the cloud and on-premises execution environments used for large-scale closed-loop testing, continuous integration, and perception