Principal Compiler Engineer

Engineering - Software San Jose, California


Description

Principal Compiler Engineer

LocationSan Jose, CA

Job ID- AI2078

Job Description

SiMa.ai is looking for a Principal Compiler Engineer to make significant contributions to our state-of-the-art Machine Learning Accelerator (MLA) compiler.  As a member of the SiMa Compiler team, you will have the opportunity to work on a compiler that not only supports a large number of machine learning models, but also generates highly performant and power-efficient assembly code for these models.

You will also have the opportunity to influence SiMa’s roadmap by proposing enhancements to future generations of the MLA.

Responsibilities

  • Design and implement algorithms within the compiler framework that generate highly performant and power-efficient assembly code for a wide range of machine learning models.
  • Analyze the assembly code generated by the compiler for various machine learning models and identify opportunities for improvement.
  • Work closely with the front-end team to identify ways in which the intermediate representation (IR) can be enhanced to better support the compiler back-end.
  • Improve the quality of the code base by refactoring code and enhancing documentation.
  • Contribute to SiMa’s roadmap by proposing new hardware features for future generations of the Machine Learning Accelerator.

Required Background

  • Ph.D. or M.S. in Computer Science or Computer Engineering with 5+ years of experience developing highly performant systems software.
  • Strong programming skills in C, C++ or Python.
  • Strong background in algorithms and data structures.
  • Strong understanding of processor architecture.
  • Strong analytical background.
  • Strong debugging skills.
  • Experience in compiler design and implementation (preferably a production compiler).
  • Experience designing and implementing unit tests and integration tests.
Personal attributes:
Can-do attitude. Strong team player. Curious, creative and good at solving problems. Execution and results-oriented. Self-driven, Thinks Big and is highly accountable. Good communication skills.