Kernel Engineer

Bengaluru, Karnataka, India

About the Role

The Kernel team is responsible for the design, implementation, and performance tuning of deep learning operations on highly parallel custom processors. We are developing parallel and distributed algorithms to maximize hardware utilization and accelerate the training of deep neural networks to unprecedented speeds.

This involves:

    • Creating high-performance linear-algebra and machine-learning kernels for custom processors
    • Designing and implementing parallel algorithms on a distributed hardware architecture
    • Tuning and optimizing low-level assembly code within significant constraints of highly-optimized high performance hardware
    • Understanding the tradeoffs of performance, compute, and memory and simultaneously optimize for all three

As a member of our India engineering leadership team, you will work on building and managing teams working on cutting edge kernel technology. You will lead, build, and manage a team of highly talented and motivated software engineers in a fast-paced environment to solve toughest of the problems in rapidly evolving AI space.

Responsibilities

  • Leading the team to develop a flexible and robust library of optimized kernels for primitive operations used by state-of-the-art neural network architectures
  • Providing technical vision and guidance to team members in designing, analyzing, and optimizing algorithmic solutions
  • Working with engineering leadership and product management teams to develop product roadmap
  • Identifying hiring needs and filling them with top talent from industry and academia
  • Mentoring and coaching team members considering both short-term execution and long-term career growth needs
  • Identifying risks in product development schedule and take active measures to mitigate them
  • Actively participating in defining next generation system architecture with hardware and systems teams and provide software perspective for feature prioritization
  • Defining and enforcing best practices in software development process including coding style standards and peer reviews
  • Identifying opportunities for deployment of tools and processes to improve engineering execution efficiency
  • Driving sprint planning meetings

Requirements

  • Bachelors/Masters degree, or foreign equivalents in computer science, engineering, or related field
  • 7+ years of related work experience in e.g. kernel design, implementation, and optimization, or high-performance parallel programming
  • 5+ years of experience in building and managing engineering teams
  • Familiarity with parallel algorithms and distributed memory systems
  • Experience with assembly-level programming and optimization and strong knowledge of computer architecture fundamentals
  • Programming fluency and extensive experience in C or C++ and Assembly languages
  • Project and program management experience
  • Familiarity with Agile development methodology
  • Outstanding verbal and written communication skills
  • Deep learning algorithms experience is a plus
  • Experience working in a fast-paced, startup-like environment strongly preferred
  • Must be able to:
    • Operate at the code level - Perform peer code reviews
    • Architect an end-to-end solution
    • Create and review design documents
    • Provide technical guidance to team members
    • Create detailed project plan with task breakdown
    • Own project execution
    • Hire and build team

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