Cerebras has developed 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 deep learning workloads.

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

About The Role

As a Kernel Engineer on our team, you will work with leaders from industry and academia at the intersection of hardware and software to develop state-of-the-art solutions for emerging problems in AI and HPC. 
Our team of developers is responsible for the design, implementation, validation, and performance tuning of deep learning operations on highly parallel custom processors. We are developing a library of parallel and distributed algorithms to maximize hardware utilization and accelerate the training of deep neural networks to unprecedented speeds. 

Responsibilities

  • Develop design specifications for new machine learning and linear algebra kernels and mapping to the Cerebras WSE System using various parallel programming algorithms 
  • Develop and debug kernel library of highly optimized low level assembly instruction and C-like domain specific language routines to implement algorithms targeting the Cerebras hardware system 
  • Using mathematical models and analysis to measure the software performance and inform design decisions 
  • Develop and integrate unit and system testing methodologies to verify correct functionality and performance of kernel libraries 
  • Study emerging trends in Machine Learning applications and help evolve Kernel library architecture to address computational challenges of the start-of-the-art Neural Networks 
  • Interact with chip and system architects to optimize instruction sets, microarchitecture, and IO of next generation systems 

Requirements

  • Enrolled within University of Toronto's PEY program with a degree in Computer Science, Computer Engineering, or any other related discipline
  • Understanding of hardware architecture concepts — must be comfortable learning the details of a new hardware architecture
  • Skilled in C++ and Python programming languages 
  • Good knowledge of library and/or API development best practices 
  • Strong debugging skills and knowledge of debugging complex software stack 

Preferred Skills

  • Experience in kernel development and/or testing 
  • Familiarity with parallel algorithms and distributed memory systems 
  • Experience in programming accelerators such as GPUs and FPGAs 
  • Familiarity with Machine Learning neural networks and frameworks such as TensorFlow and PyTorch 
  • 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.

Location

Toronto, Ontario, Canada

Job Overview
Job Posted:
4 weeks ago
Job Expires:
Job Type
Intern

Share This Job: