Compiler

Bengaluru, Karnataka, India

Cerebras is developing a radically new chip and system to dramatically accelerate deep learning applications. Our system runs training and inference workloads orders of magnitude faster than contemporary machines, fundamentally changing the way ML researchers work and pursue AI innovation.

We are innovating at every level of the stack – from chip, to microcode, to power delivery and cooling, to new algorithms and network architectures at the cutting edge of ML research. Our fully-integrated system delivers unprecedented performance because it is built from the ground up for the deep learning workload.

Cerebras is building a team of exceptional people to work together on big problems. Join us!

About The Role

As a member of our Compiler team, you will work with leaders from industry and academia to develop entirely new solutions for the toughest problems in AI compute. 

As deep neural network architectures evolve, they are becoming enormously parallel, and distributed. Compilers are needed to optimize the mappings of computation graphs to compute nodes. In this position, you will build the tools that generate distributed memory code from evolving intermediate representations. 

Cerebras is hiring full-time team members as well as interns. 

Responsibilities

  • Design and devise graph semantics, intermediate representations, and abstraction layers between high-level definitions (like TensorFlow and Pytorch) and low-level distributed code 
  • Use state-of-the-art parallelization and partitioning techniques to automate generation, exploiting hand-written distributed kernels
  • Identify and implement novel program analysis and optimization techniques for compilers targeting linear algebra applications on distributed memory architectures 
  • Leverage open-source tools and compiler toolchains such as ISL, MLIR and LLVM to build domain specific language and compiler for programming Cerebras Wafer Scale Engine
  • Develop and optimize the LLVM backend target for various generations of Cerebras architecture

Requirements

  • Bachelor’s, Master’s, PhD, or foreign equivalents in computer science, engineering, or related field 
  • Familiarity with high-level parallel program analysis and optimization 
  • Compiler experience; experience in code generation and optimization for distributed systems
  • Strong proficiency in C/C++ or other language for designing large, performant systems
  • Familiarity with Python or other scripting language. 
  • Familiarity with multi-thread and multi-process programming models

Preferred Skills

  • MLIR & LLVM compiler toolchain internals 
  • Polyhedral models, Integer Set Library (ISL) 
  • Familiarity with HPC kernels and their optimization 
  • IEEE floating point representations 
  • Familiarity with machine learning frameworks such as TensorFlow and Pytorch 
  • Knowledge of ML application areas and state-of-the-art networks in various application areas 

Cerebras Systems is committed to creating an equal and diverse environment and is proud to be an equal opportunity employer. We celebrate different backgrounds, perspectives, and skills. We believe inclusive teams build better products and companies. We try every day to build a work environment that empowers people to do their best work through continuous learning, growth and support of those around them.


This website or its third-party tools process personal data. For more details, click here to review our CCPA disclosure notice.

Apply for this Job
* Required

Privacy Preference Center