Senior Software Engineer, ML Compiler, TPU
Google Cloud's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. 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 Cloud's needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. You will anticipate our customer needs and be empowered to act like an owner, take action and innovate. 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.
Google Cloud accelerates every organization’s ability to digitally transform its business and industry. We deliver enterprise-grade solutions that leverage Google’s cutting-edge technology, and tools that help developers build more sustainably. Customers in more than 200 countries and territories turn to Google Cloud as their trusted partner to enable growth and solve their most critical business problems.
Individual pay is determined by factors including job-related skills, experience, and relevant education or training.US: $174000 - $252000 (USD) + 15% bonus target + equity + benefits
Learn more about benefits at Google.
Responsibilities
- Deliver compiler parallelization features and optimization techniques for TPU backend necessary for large-scale workloads.
- Contribute to collective operation lowering/implementation on TPU platform.
- Develop compiler optimization techniques at lower level and throughout the compiler stack.
- Analyze upcoming and existing features in TPU architectures and leverage them for most optimal horizontal scaling performance.
- Build compiler related tools for debugging and preventing scaling issues and improving engineering experience.
Minimum qualifications:
- Bachelor's degree in Computer Science, or a related technical field, or equivalent practical experience.
- 5 years of experience with software development in one or more programming languages, including Python and C++.
- 3 years of experience with Machine Learning infrastructure, ML execution frameworks (e.g., TensorFlow, JAX, PyTorch), or hardware accelerators (e.g., TPUs, GPUs).
- 2 years of experience in a low level systems programming language (e.g., C++).
- Experience in performance and compilers.
Preferred qualifications:
- 3 years of experience in low level ML accelerator programming, compiler or other close to hardware performance programming.
- Experience in profiling workloads, identifying and introducing performance optimization.
- Experience in high-performance and readable c++.
- Experience in hardware design and hardware architecture.
- Working knowledge of machine learning compilers (e.g., XLA or MLIR) and experience co-designing hardware-aware optimizations to accelerate model execution.