Software Engineer, Tensor Processing Units Compiler

Google is a global technology leader that specializes in internet-related services and products.
Backend
Mid-Level Software Engineer
In-Person
5,000+ Employees
3+ years of experience
AI · Enterprise SaaS · Cloud
This job posting may no longer be active. You may be interested in these related jobs instead:
Software Developer III, Google Cloud Business Platforms

Software Developer III position at Google Cloud Business Platforms, focusing on developing cloud infrastructure and enterprise solutions with opportunities to work on large-scale systems.

Software Developer III, Infrastructure, Core

Software Developer III position at Google focusing on infrastructure and core systems development, offering competitive compensation and the opportunity to work on large-scale distributed systems.

Technical Solutions Developer, Workspace Support, Google Cloud

Technical Solutions Developer position at Google Cloud, combining software development expertise with customer support to resolve complex issues and improve Google Workspace products.

Software Enginer ll, Chrome Enterprise Core

Software Engineer II position at Google working on Chrome Enterprise Core, focusing on cloud management features and full-stack development.

ASIC RTL Design Engineer, Silicon

ASIC RTL Design Engineer position at Google, focusing on custom silicon solutions and foundation IP design for Pixel SoCs, requiring expertise in RTL design and microarchitecture.

Description For Software Engineer, Tensor Processing Units Compiler

Google is seeking a Software Engineer for their Tensor Processing Units (TPUs) Compiler team. This role is critical in developing the compiler that enables TPUs, Google's custom-designed processor, to accelerate machine learning and scientific computing workloads for both internal and external Cloud customers. The position offers opportunities to work on various levels of the compiler stack, including LLVM and MLIR middle-end.

Key responsibilities include contributing to the TPU compiler, supporting new workloads, optimizing for new models and characteristics, and supporting new TPU hardware across multiple generations. The ideal candidate will have experience with CUDA C++ application development, compiler technologies, and machine learning algorithms.

The role requires collaboration with TPU users to improve performance and efficiency, as well as with hardware designers for co-designing future processors. The engineer will also investigate high-level representations for programming large-scale, distributed, and heterogeneous systems.

Google Cloud, the division this role supports, is at the forefront of enabling digital transformation for organizations worldwide. It offers enterprise-grade solutions leveraging Google's cutting-edge technology on the cleanest cloud in the industry.

This position offers an exciting opportunity to work on advanced technology that impacts billions of users and pushes the boundaries of machine learning acceleration. The ideal candidate will be versatile, display leadership qualities, and be enthusiastic about tackling new problems across the full stack as Google continues to innovate in the field of AI and machine learning.

Last updated 6 months ago

Responsibilities For Software Engineer, Tensor Processing Units Compiler

  • Contribute to a compiler for a novel processor designed to accelerate machine learning workloads
  • Compile high-performance implementations of operations at a distributed scale
  • Work closely with users of TPUs to improve performance/efficiency and hardware designers to co-design future processors
  • Investigate high-level representations to effectively program large-scale, distributed, and heterogeneous systems

Requirements For Software Engineer, Tensor Processing Units Compiler

  • Bachelor's degree or equivalent practical experience
  • 3 years of experience testing, maintaining, or launching software products
  • 1 year of experience with software design and architecture
  • 2 years of experience working with CUDA C++ application development
  • 1 year of experience with Native Code, Just-In-Time (JIT), Cross, Source-to-Source or any other type of compilers
  • 2 years of experience with data structures or algorithms
  • Experience with machine learning algorithms and tools (e.g. TensorFlow), artificial intelligence, deep learning, or natural language processing

Interested in this job?