Tools Engineer
Cambridge, England, United Kingdom
Performance Tools Engineer in Cambridge, UK
About Neubla
As pioneers of innovative neural computing, Neubla is transforming the future of computing by bringing the enormous potential of neural computing to the highest performance in most data-intensive applications. Neubla is made up of people with expertise and lots of experience in many different fields such as AI, semiconductor design, and compilers. At Neubla, you can work in a rapidly changing environment where your new ideas will become innovative products, services, and customer experiences, working with talented colleagues. Neubla offers a competitive package with benefits, including health insurance, a pension scheme, employee wellness support, and a variety of snacks in the office!
Summary
Want to use your programming skills creatively to innovate NPU designs? We're looking for an exceptional individual with a passion to learn about ground-breaking AI architectures and who are eager to build highly optimised models for performance and functional simulation.
Performance and functional simulation are critical tools for architecture exploration, and it has been used to make many important decisions of various micro-architectures like CPU. However, in AI accelerator domain, the performance model has often been taken lightly due to the regular computation patterns of neural network models. However neural network models are getting bigger and much more complex every month, and it became almost impossible to estimate performance analytically.
In this highly visible role, you will collaborate closely with multi-site ML, HW and SW teams to investigate and develop tools to help evaluate new micro-architectural ideas and design trade-offs to shape the next generation NPUs by developing, verifying, and using performance models
for data-driven architectural exploration and validation.
Job Description
Develop, test and verify reference compute library for proprietary NPU ISA
Develop and maintain various tools required for functional /performance analysis and debugging
Collaborate with multi-site engineering teams to make data-driven decisions on many of their current engineering issues
Collaborate with hardware design engineers to understand ISA implementation in micro-architecture and implement reference instructions in software library
Support hardware design engineers to solve potential functional issues in design verification flows
Develop systems and performance analysis tools necessary for performance correlation and verification workflows
Qualifications
Masters, PhD, or equivalent experience in Computer Engineering, Electrical Engineering, or related field
Strong problem solving and analytical skills
Strong programming skills with good understanding of object oriented languages such as C++/Python
Knowledge of Machine Learning concepts and MLhardware accelerators
4+ years’ experience in developing compute libraries
Knowledge processor architectures like NPUs, CPUs, or GPUs
Excellent collaboration skills
Outstanding written and verbal communications
Preferred Qualifications
Proficiency in computer/SoC architecture and performance trade-offs
Knowledge of Verilog and/or VHDL and experience with simulators and waveform debugging
Familiarity with RISC-V architectures and instruction sets
Knowledge of script languages
The Process
Application review > 1st Interview > 2nd Interview (technical) > 3rd Interview