Machine Learning GPU Performance Engineer - Google
Sunnyvale, CA
About the Job
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 5 years of experience in software development (e.g., C++, Python), and with data structures/algorithms.
- 3 years of experience testing, maintaining, or launching software products, and 1 year of experience with software design and architecture.
- 3 years of experience with performance, systems data analysis, visualization tools, or debugging.
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical field or equivalent practical experience.
- Experience in optimizing GPU-accelerated environments with the understanding of large language models (LLMs) and training/inference pipelines.
- Proven ability to analyze and optimize GPU performance for complex computational tasks, including benchmarking, profiling, and identifying bottlenecks in computing environments.
About the job
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
The Core team builds the technical foundation behind Google’s flagship products. We are owners and advocates for the underlying design elements, developer platforms, product components, and infrastructure at Google. These are the essential building blocks for excellent, safe, and coherent experiences for our users and drive the pace of innovation for every developer. We look across Google’s products to build central solutions, break down technical barriers and strengthen existing systems. As the Core team, we have a mandate and a unique opportunity to impact important technical decisions across the company.
Responsibilities
- Identify and maintain Large Language Model (LLM) training and serving benchmarks that are representative to Google production, industry and Machine Learning (ML) community, use them to identify performance opportunities and drive Accelerated Linear Algebra (XLA):GPU/Triton performance toward state-of-the-art, and to guide XLA releases.
- Engage with Google product teams to solve their ML model performance problems, onboarding new LLM models and products on GPU hardware, enabling LLMs to train and serve efficiently on a very large scale (e.g., thousands of GPUs).
- Run architecture level simulations on GPU designs and perform roof line analysis to guide internal teams.
- Run performance benchmarks on Graphics Processing Unit (GPU) hardware using internal and external tools.
- Analyze performance and efficiency metrics to identify bottlenecks, design and implement solutions at Google fleetwide scale.