System Software Engineer, Performance - CUDA Driver
Thomas To · Santa Clara, CA · 1 mo ago
EngineeringFull-time
What You'll Be Doing
- Design, implement, validate, and ship performance-centric features and programming-model capabilities in the CUDA driver and runtime, writing maintainable, well-tested production C/C++.
- Optimize critical execution paths—including kernel launch, synchronization, memory management & movement, CPU–GPU coordination, and system interconnect use—for latency, throughput, bandwidth, efficiency, and scalability.
- Own complex performance problems end-to-end - understand important workloads, form hypotheses, create focused measurements and models, isolate root causes across software and hardware boundaries, implement production solutions, and validate application-level impact.
- Establish performance expectations for current and future platforms, characterize new silicon, close software and hardware gaps, and drive performance readiness through product release.
- Translate workload and platform evidence into CUDA API and programming-model improvements, systems-software direction, and measurement-backed recommendations for future hardware architecture and implementation.
- Partner with application, library, framework, operating-system, driver, runtime, firmware, GPU architecture, silicon, product, and customer-facing teams; communicate findings clearly and raise engineering quality through design and code reviews.
- Lead complex feature development and cross-layer investigations across teams, define performance requirements and technical direction for major subsystems, mentor engineers, and shape hardware/software decisions for future product generations.
What We Need To See
- A BS, MS, or PhD in Computer Science, Computer Engineering, Electrical Engineering, or a related field—or equivalent practical experience — with at least 2 years of relevant systems-software development experience.
- Strong production C/C++ systems-programming experience, including delivery of substantial features, optimizations, or production fixes in a complex codebase.
- Strong operating systems and concurrency foundations, including threads, synchronization, processes, virtual memory, and user/kernel interactions.
- Strong computer-architecture foundations, including processors, memory hierarchy, caching and coherence, data movement, and system interconnects.
- Demonstrated success improving real software performance: measuring behavior, identifying the limiting mechanism, implementing an effective solution, and validating the result quantitatively.
- Sound technical judgment, ownership of ambiguous problems, and clear communication across organizational and disciplinary boundaries.
- Direct CUDA or GPU experience is valuable but is not required when accompanied by deep systems-software, operating-systems, computer-architecture, and performance-engineering foundations.
Ways To Stand Out From The Crowd
- Experience developing GPU or accelerator drivers, runtimes, kernel software, firmware, compilers, or other performance-critical low-level systems.
- Experience with pre-silicon analysis, platform bring-up, performance modeling, or hardware/software co-design.
- Systems-level performance experience with AI/DL, HPC, graphics, automotive, robotics, or similarly demanding workloads.
- Evidence of technical invention(s), such as software-performance patents, novel production designs, or measurement-backed recommendations that influenced a hardware revision or future architecture.
- Python or another scripting language used for focused experimentation, data analysis, or visualization.