Software Engineer, GPU

WaymoMountain View, CA
6dHybrid

About The Position

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 a Senior Software Engineer.

Requirements

  • Proven expertise in C++ programming
  • Bachelor degrees in EECS, coupled with a minimum of three years of industry experience
  • Experience with full-system simulation frameworks (SystemC, Gem5 or similar)
  • Solid understanding of GPU hardware architecture
  • Proficiency in utilizing performance analysis tools and debuggers
  • Enthusiasm for developing the complete GPU software stack, from the hardware level to real-world applications

Nice To Haves

  • Knowledge of Linux device drivers and embedded firmware
  • Experience with diverse GPU deployment environments
  • Proficiency in GPU optimization techniques, including memory coalescing, register/shared memory tiling, pinned memory, and warp-level programming
  • Familiarity with GPU libraries such as Thrust, CUB, CUTLASS, or Eigen
  • Experience collaborating with external operators to ensure high quality standards
  • Experience contributing to open-source compiler projects such as LLVM or SPIR-V

Responsibilities

  • 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service