Software Engineer, ML Performance, Compute
Mountain View, California, United States
New York, New York, United States
Waymo is an autonomous driving technology company with a mission to make it safe and easy for people and things to get where they’re going. Since our start as the Google Self-Driving Car Project in 2009, Waymo has been focused on building the World’s Most Experienced Driver in hopes of improving the world's access to mobility while saving thousands of lives now lost to traffic crashes. Our Waymo Driver powers Waymo One, our fully autonomous ride-hailing service, as well as Waymo Via, our trucking and local delivery service. To date, Waymo has driven over 20 million miles autonomously on public roads across 25 U.S. cities and conducted over 20 billion miles of simulation testing.
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 role, you'll:
- Study state-of-the-art neural network techniques, and adapt them to run efficiently on our unique inference platforms
- Analyze neural network performance on specialized inference hardware
- Identify optimization opportunities at all levels of the stack: neural network design, compiler, runtime, and hardware
- Drive the delivery of features which enable performance optimizations
- Work together with model developers and hardware architects to improve the efficiency of inference hardware via software/hardware codesign
- Guide the development of future hardware solutions tailored to meet the needs of Waymo’s unique machine learning requirements
At a minimum we’d like you to have:
- BS degree in Computer Science/Electrical Engineering or equivalent practical experience
- 3+ years of industry experience
- Experience in optimizing neural network inference latency
- Strong C++ and/or Python programming skills
- A passion for pushing software workloads to achieve maximum performance
It's preferred if you have:
- Knowledge of computer architectures used for neural network inference, and neural network performance characteristics
- Experience with compilers for neural networks
- Experience with breaking down large computational workloads into smaller primitives that can run efficiently on hardware
- Knowledge of the principles behind popular machine learning and neural network algorithms and applications
Note: The following is only applicable for roles hired in the US. As we keep the safety of our employees and our communities top of mind, COVID-19 vaccinations continue to be a critical prevention measure to help end the pandemic. Because of this, Waymo requires all US-based employees who perform work onsite for Waymo to be fully vaccinated against COVID-19. If you are unable to be vaccinated due to a disability, medical condition or religious belief, Waymo will provide a reasonable accommodation consistent with federal, state, and local law.
We appreciate your interest in Waymo. Waymo is an equal employment opportunity employer. Waymo’s policy is not to discriminate against any applicant or employee based on race, color, sex, religion, national origin, age, disability, military status, genetic information or any other characteristic protected by law. Waymo also prohibits harassment of applicants or employees based on any of these protected categories. Waymo will also consider for employment qualified applicants with criminal records in accordance with applicable law. Waymo also makes workplace accommodations for qualified individuals with disabilities as required by applicable law.