Compiler Engineer - Internship (PEY 2025)

Cerebras

Cerebras

Toronto, ON, Canada
Posted on Aug 30, 2024

Cerebras Toronto

Cerebras is based in Sunnyvale, California, with its second engineering hub – the AI Centre of Excellence – located in Downtown Toronto. Toronto houses our Machine Learning and Software organization and has some of the most talented ML, optimization, and high-performance computing talent in the world. We have already built out an experienced team of over 100 engineers and computer scientists that are driving forward the next generation of our machine learning stack.

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.

Responsibilities

  • Design and devise graph semantics, intermediate representations, and abstraction layers between high-level definitions (like MLIR) and low-level (LLVM IR) distributed code
  • Use state-of-the-art parallelization and partitioning techniques to automate generation of distributed kernels
  • Low-level optimization on a SIMD/tensor-aware architecture of compute nodes
  • Identify, design and implement novel program analysis and optimization techniques
  • Design and implement custom system tools (such as linkers) for architectures with massive number of compute nodes

Requirements

  • Enrolled in the University of Toronto's PEY program with a degree in Computer Science, Computer Engineering, or other related disciplines
  • High proficiency in programming using Python or C++
  • Solid understanding of fundamental concepts related to system design, such as data structures, algorithms, and operating systems.
  • Related experience or fundamental knowledge of compilers and distributed systems
  • Familiarity with high-level parallel program analysis and optimization

Preferred

  • LLVM compiler internals
  • Polyhedral models
  • Familiarity with HPC kernels and their optimization

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.