About the Company:
Founded with the vision of building a runtime reconfigurable, future-proof processor, Morphing Machines is a fabless semiconductor company working on a ground-breaking technology that will transform the chip design landscape. Morphing Machines patent protected IP, REDEFINE, can concurrently accelerate heterogenous workloads, on a homogenous fabric of processing cores. REDEFINE combines ASIC (Application Specific Integrated Circuit) like performance with the reconfigurability of FPGAs (Field Programmable Gate Arrays). Morphing Machines innovation enables dataflow compute, which is a paradigm shift in the current processor industry. Due to the nature of our architecture, we can cater across domains from Data Centers, Quantitative Finance, AI/ML acceleration, Edge Vision to High Performance Compute (HPC) applications, all with the same hardware fabric. At Morphing Machines, we are building a cutting-edge technology guided by our vision to build truly software-defined hardware.
Position Overview:
As an Associate System Software Engineer at Morphing Machines, you will join the System Software team, building software for the REDEFINE Accelerator - a powerful RISC-V based computing platform for future technologies. This is a great opportunity to start a career in System Software Development, while learning from experienced Engineers and growing your skills under their guidance. You will help bridge the gap between hardware and AI workloads by working on bare-metal firmware, device drivers, Linux kernel modules as well as REDEFINE in-house Simulators and learn hardware-software co-design.
Responsibilities:
- System Software Development:
- Develop/maintain system software components that enable the REDEFINE accelerator to interface with host systems and software.
- Design and implement software modules, libraries and APIs to facilitate integration and efficient utilization of accelerator features.
- Test and debug system software components and ensure functional correctness, reliability and fine-tuning of performance of software components.
- Firmware Development:
- Implement, test and debug features in bare-metal firmware and diagnose issues across hardware-software boundary using both industry-standard and in-house developed debug tools.
- Linux Device Driver Development:
- Hands on in writing Linux device drivers and Linux based applications. Develop and maintain Linux kernel device drivers for the REDEFINE accelerator.
- REDEFINE Simulator:
- Work in feature enhancement and testing of our in-house REDEFINE simulators which model complex interactions between diverse hardware and compute units to validate architecture and performance.
- Hardware-Software Interaction:
- Collaborate closely with hardware engineers to understand the accelerators architecture, memory mapping, and communication protocols.
- Support Senior engineers in testing, debugging features.
- Documentation and Support:
- Document code, flow-charts, design decisions and usage guidelines.
- Participate in code reviews and team discussions to grow your understanding and skills.
Requirements:
- Bachelors / Master s in Computer Science, Electronics and Communication Engineering.
- Expertise in C/Embedded C programming, OOP concepts and shell scripting. One high-level language like C++, Python, Go, Rust is a plus.
- Fundamentals in Computer Architecture and familiarity with modern processor architectures (ARM, RISC-V, x86, etc).
- Knowledge of Operating System Concepts and experience with Linux internals and environment.
- Understanding of build infrastructure and exposure to software development tools eg. IDEs, debug methods, version management etc.
- Academic exposure and hands-on on software/application development, firmware development and Linux system programming.
- Passion for low-level programming, systems, and hardware-software interaction.
- Strong analytical and problem-solving skills.
- Eagerness to learn, ask questions, and grow in a collaborative environment.
- Ability to work in a dynamic startup environment and manage multiple tasks effectively.