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
This job posting may no longer be active. You may be interested in these related jobs instead:
Software Engineer III, Infrastructure, Core

Software Engineer III position at Google's Core Infrastructure team, focusing on developing foundational technologies and systems that power Google's flagship products.

Software Engineer III, Platforms Infrastructure Engineering

Software Engineer III position at Google focusing on platforms infrastructure engineering, offering competitive compensation and the opportunity to work on large-scale systems.

Software Engineer III, Payments

Software Engineer III position at Google focusing on Payments systems, offering competitive compensation and opportunities to work on large-scale technologies.

Software Engineer III, Infrastructure, Google TV

Software Engineer III position at Google working on infrastructure for Google TV, focusing on large-scale systems and distributed computing.

Software Engineer III, Infrastructure, Google Ads

Mid-level Software Engineer position at Google focusing on infrastructure development for Google Ads platform, offering competitive compensation and opportunity to work on large-scale systems.

Description For Software Engineer, Tensor Processing Units Compiler

Google is seeking a Software Engineer for their Tensor Processing Units (TPUs) Compiler team. This role involves working on the MLIR/LLVM based TPU compiler for Google's custom-designed processors that accelerate machine learning and scientific computing workloads. The ideal candidate will contribute to compiling high-performance implementations of operations at a distributed scale, work closely with TPU users to improve performance/efficiency, and collaborate with hardware designers for future processor co-design.

Key responsibilities include:

  1. Contributing to a compiler for a novel processor designed to accelerate machine learning workloads.
  2. Compiling high-performance implementations of operations at a distributed scale.
  3. Working closely with TPU users to improve performance/efficiency.
  4. Collaborating with hardware designers to co-design future processors.
  5. Investigating high-level representations for effective programming of large-scale, distributed, and heterogeneous systems.

The role offers opportunities to work on various aspects of the compiler stack, including Low Level Virtual Machine (LLVM) and Multi-Level Intermediate Representation (MLIR) middle-end. The successful candidate will support new workloads, optimize for new models and characteristics, and support new TPU hardware across multiple generations.

This position is part of Google Cloud, which provides enterprise-grade solutions leveraging Google's cutting-edge technology to help organizations digitally transform their businesses. The role presents an exciting opportunity to work on advanced technology that impacts billions of users worldwide.

Google is committed to diversity, equality, and creating a culture of belonging. They offer equal employment opportunities regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition, or any other protected basis.

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?