DevJobs

Linux Internals (Memory) Software Engineer

Overview
Skills
  • C++ C++ ꞏ 3y
  • Device management
  • IPC
  • Linux kernel development
  • Memory management
  • Multi-threaded programming
  • Operating Systems
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.

NextSilicon is seeking a top notch software engineer 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 part of the memory system team, you will work on design and implementation of new and enhanced features of the memory system 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.

Requirements:

  • 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, IPC, and multi-threaded programming
  • Familiarity with device and memory management in operating systems
  • Experience in Linux kernel development
  • Ability to work in a multi-task and dynamic environment
  • Excellent communication and teamwork skills
  • Strong problem-solving skills and the ability to analyze and debug complex issues.
  • 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

Responsibilities:

  • Work on design and implementation of new and enhanced features of the memory system for the Maverick accelerator
  • Develop a high performance, low latency distributed unified virtual memory management system
  • 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
NextSilicon