NextSilicon is reimagining high-performance computing (HPC & AI). Our accelerated compute solutions leverage intelligent adaptive algorithms to vastly accelerate supercomputers, driving them forward into a new generation. We have developed a novel software-defined hardware architecture that is achieving significant advancements in both the HPC and AI domains.
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
Runtime Software group. In this role, you will drive the development of the full software stack and architecture behind our revolutionary coprocessor. You will be challenged to deliver high-performance, system-wide solutions, requiring a deep understanding of complex architectural trade-offs and distributed systems.
As a core team member, you will design and implement infrastructure that enables NextSilicon’s unique hardware to accelerate diverse applications at scale. You will collaborate across disciplines - working with hardware engineers, compiler developers, and system architects - to optimize execution in a massive, multi-process, and multi-threaded environment.
Requirements:
- BSc in Computer Science, Engineering, or an equivalent technical field
- 3-5 years of advanced C++ experience, with excellent coding skills
- Ability to work in a multi task and dynamic environment
- Fast learner and a team player
- Excellent communication and teamwork skills
- Strong problem solving skills and the ability to analyze and debug complex issues
- Familiarity with Linux environments
- Advantage - Experience with varied levels of software, from embedded systems and low-level development.
- Advantage - Experience with large scale distributed multi-threaded systems
- 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:
- Design and implement next-generation runtime architectures and infrastructures to support evolving product requirements
- Develop environments for the acceleration of massively parallel applications, managing complex process and thread lifecycles
- Define development scopes and roadmaps to ensure the successful delivery of robust software features
- Partner with hardware and compiler teams to bridge the gap between silicon capabilities and software performance