C++ Software Engineer

1 month ago


Givatayim, Israel NextSilicon Full time

NextSilicon is reimagining high-performance computing. Our accelerated compute solutions leverage intelligent adaptive algorithms to vastly accelerate supercomputers, driving them forward into a new generation. Our new software-defined hardware architecture enables HPC to fulfill its promise of breakthroughs in all fields of advanced research. 

At NextSilicon, everything we do is guided by three core values:

  • Professionalism: We strive for exceptional results through professionalism and unwavering dedication to quality and performance. 
  • Unity: Collaboration is key to success. That's why we foster a work environment where every employee can feel valued and heard. 
  • Impact: We're passionate about developing technologies that make a meaningful impact on industries, communities, and individuals worldwide.

We are seeking an experienced and highly skilled Software Engineer to join our Core Software group to drive forward the development of the full software stack and architecture behind our revolutionary coprocessor. You will demonstrate creative and critical thinking capabilities and have a genuine passion for tackling complex low-level software issues.

As a part of the Runtime team, you will work on design and implementation of new and enhanced features of the runtime/embedded OS stack to support high performance computing and AI applications in the Maverick accelerator runtime environment.

You will work closely with software engineers, hardware engineers, compiler developers and other stakeholders to enable the most efficient execution of applications on a large scale, multi threaded and highly distributed system across multiple disciplines with a deep OS Internals point of view.

  • MSc/BSc in Computer Science or other equivalent educational experience.
  • 3-5 years of advanced C++ experience, with excellent coding skills.
  • Deep understanding of the internals of operating systems
  • Experience with IPC, and multi-threaded programming
  • Experience with Embedded Linux environment
  • Excellent communication and teamwork skills
  • Ability to work in a multi task and dynamic environment
  • Strong problem solving skills and the ability to analyze and debug complex issues
  • Advantage - Deep knowledge of processor architectures—such as CPUs (x86, ARM, RISC-V), GPUs, DSPs, or TCUs
  • Advantage - Familiarity with and passion for any of the following - machine learning, compilers, parallel programming, high-performance and massively parallel systems, processor and computer architecture
  • Work on design and implementation of new and enhanced features of the runtime/embedded OS stack to support high performance computing and AI applications
  • Develop the runtime environment for accelerating massively parallel applications execution and handle OS/device process and thread lifecycle
  • Work on system software support for the next generation Maverick system
  • Define feature development scope and plan for successful product delivery
  • Wide system impact through collaboration with software engineers, hardware engineers, compiler developers and other stakeholders