We’re a rapidly growing Toronto-based startup, with employees across Canada and the US, building next generation hardware AI accelerators for neural net inference. We are investing in software in a big way in order to make it as seamless as possible for researchers and developers to successfully deploy neural networks on our hardware.
We’re looking for best in class engineers to join our existing top-notch team. When you join you will be part of a team that designs, develops and verifies the software that interacts with our chip, collaborating with our hardware engineers and with fellow software engineers in the process. By creating software that fully realizes the capabilities of the hardware, you will help get AI inference to the general populace.
As part of this exceptional team, you are able to - and get excited by - identifying functional/performance bottlenecks and how to alleviate them in order to achieve scalable and reliable software. You excel in an environment with complex software and hardware designs.
For this particular role, we are looking for an experienced Compiler Engineer. The ideal candidate will have extensive experience building compilers for a variety of architectures, working with established frameworks such as LLVM, and intimate understanding of the full compilation life-cycle.
The Untether AI compiler team is responsible for creating software that translates a wide variety of neural nets into efficient mappings and fast implementations on our accelerator hardware, from data-in to data-out. In this role, you will design and architect key components of the compilers, mentor junior team members, and take part in designing our next generation of hardware.
Responsibilities
-
- Design and implement software that maps a neural net onto our unique spatial architecture
- Stay abreast of latest developments in network compilation and optimization, and bring those learnings to our tool flow
- Drive definition and adoption of best practices
- Support roadmap development, planning, and recruiting activities, and help maintain a productive environment in the team
- Work closely with upstream and downstream teams
- Mentor and guide junior engineers
- Evaluate current and proposed hardware architecture for future products
Preferred Skills & Experience
-
- Computer Science, Engineering or related degree; Preferably MS or PhD
- 10+ years experience developing the internals of modern optimizing compilers for a variety of architectures
- Understanding of advanced optimization techniques
- Thorough understanding of deep neural nets a bonus
- Experience with LLVM a must, experience with MLIR a bonus
- Experience with spatial computing architectures or massively parallel systems
- Experience with benchmarking and performance guided optimization
- Driven and self-directed
- Proficiency in a variety of development styles and languages
- Ability to build projects from the ground up
- Comfortable working within a rapidly evolving project
- Strong focus on testing and software quality
- Team focus and desire to help build the team