Waymo is an autonomous driving technology company with the mission to be the world's most trusted driver. Since its start as the Google Self-Driving Car Project in 2009, Waymo has focused on building the Waymo Driver—The World's Most Experienced Driver™—to improve access to mobility while saving thousands of lives now lost to traffic crashes. The Waymo Driver powers Waymo’s fully autonomous ride-hail service and can also be applied to a range of vehicle platforms and product use cases. The Waymo Driver has provided over ten million rider-only trips, enabled by its experience autonomously driving over 100 million miles on public roads and tens of billions in simulation across 15+ U.S. states.
Waymo's Compute Team is tasked with a critical and exciting mission: We deliver the compute platform responsible for running the fully autonomous vehicle’s software stack. To achieve our mission, we architect and create high-performance custom silicon; we develop system-level compute architectures that push the boundaries of performance, power, and latency; and we collaborate closely with many other teammates to ensure we design and optimize hardware and software for maximum performance. We are a multidisciplinary team seeking curious and talented teammates to work on one of the world’s highest performance automotive compute platforms.
In this hybrid role, you will report to an Engineering Manager.
You will:
- Develop high-performance GPU primitives and abstractions to enable Waymo to scale its accelerator codebase across diverse GPU backends
- Collaborate with Waymo's internal hardware team and external partners on SoC projects with a focus on the GPU portion
- Manage the bring-up, correctness, and performance of the Waymo onboard stack on new GPU platforms
- Contribute to testing infrastructure that enhances the CI/CD flow for GPUs, detects bugs early, and generates automated alerts to maintain the GPU stack's functionality and performance
- Create profiler and debugger tools for new GPU platforms
You have:
- Expertise in C++ programming for GPU (CUDA or similar framework)
- Bachelor degrees in EECS, coupled with a minimum of five years of industry experience
- Solid understanding of GPU software stack
- Solid understanding of key GPU hardware characteristics that are important to GPU SW efficiency
- Proficiency in utilizing performance analysis tools and debuggers
- Enthusiasm for developing the complete GPU software stack, from the hardware level to real-world applications
We prefer:
- Master/doctorate degree in EECS
- Prior excellence in landing solid, sophisticated, and efficient solutions at any level of the GPU stack
- Deep insights into GPU kernel performance, compilation flow, and driver stack
- Knowledgeable of Linux driver and embedded firmware
- Ability to quickly ramp on a diverse set of heterogeneous platforms and start solving problems
- Clear technical communicator, good leader and collaborator
- Familiarity with GPU libraries such as Thrust, CUB, CUTLASS, or Eigen
- Experience contributing to open-source compiler projects such as LLVM or SPIR-V