Software Engineer Job In Cambridge

Software Engineer - Neubla
  • Cambridge, east anglia, United Kingdom
  • via Jobrapido.com
-
Job Description

Software 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

As a Software Engineer in Compute library team at Neubla, you will play a crucial role in the dynamic team responsible for crafting and optimizing the Compute Library tailored specifically for our designated hardware platform. Your contributions will be instrumental in advancing the capabilities and performance of our cutting-edge technology.


Job Description

  • Design Neubla Compute library API and Testing framework
  • Develop high-performance kernels for machine learning operators, including convolutions, matrix multiplication units and high-bandwidth interconnections, on NPU architectures.
  • Collaborate with the hardware and software teams to integrate kernels into the NPU framework.
  • Conduct thorough testing and debugging of kernels to ensure reliability and functionality.
  • Document and maintain clear, concise, and comprehensive code and design documentation.
  • Contract position with potential to be full-time


Qualifications

  • Masters, PhD, or equivalent experience in Computer Engineering, Electrical Engineering, or related field
  • Proficient in C++/C programming for embedded systems or NPUs, GPUs and similar H/W
  • Minimum of 5 years experience in hands-on development in C++
  • Knowledge developing and debugging in C/C++ and/or experience with scripting languages such as Python, shell scripts
  • Strong software development skills using standard development tools (e.g., Git, Jira, etc.).
  • Experience dealing with middleware/SW stacks and embedded systems
  • Experience with API design and testing framework (such as googletest)
  • Understanding of building systems and toolchains
  • Experience with continuous integration practices (unit-test, linting, code coverage, etc.)
  • Identifying needs for providing and driving software reviews and optimizations
  • Excellent problem-solving skills with a logical and analytical mindset.
  • Strong communication and interpersonal skills to collaborate effectively within a team environment.


Preferred Qualifications

  • Familiarity with hardware architecture and system-level understanding of NPUs or GPUs.
  • Experience in optimizing kernels for power efficiency and low-latency applications.
  • Experience in SIMD/vector processing experience (RISC-V Vector)
  • Knowledge of performance profiling tools and methodologies.
  • Contributions to projects related to parallel computing or machine learning.


The Process

  • Application review > 1st Interview > 2nd Interview (technical) > 3rd Interview

;