Job Title: Principal Software Engineer, Linux PCIe Device Drivers      Job Location: Bengaluru, India      Job ID: AI2371   Description The SoC software team is responsible for creating the SDK for SiMa.ai’s MLSoC product line. This includes developing/porting OS, boot SW, device drivers, run time environment for multiple CPU subsystems that are part of SiMa.ai’s MLSoC™, developing embedded Linux based applications and APIs for enabling end2end customer application flow utilizing different IO subsystems that are part of MLSoC.  Responsibilities: We are looking for a seasoned software engineer who has experience developing OS PCIe device drivers, boot SW and key test applications in a Linux embedded environment. The ideal candidate will have a proven track record of working in a high-performance team and has partnered with cross functional teams across multiple geographies.   Key responsibilities include (but not limited to):  
  • Leverage IP SW and integrate into MLSoC™ SW environment.
  • Develop drivers for End Point, Root Complex and PCIe Bifurcation modes for the embedded system.
  • Test and verify Linux PCIe device drivers and environment with Virtualizers and Zebu emulators.
  • Design, Implement and Test Host drivers, libraries and test applications to interface to SiMa.ai’s MLSoC™
  • Experience integrating GPUs, NVME drives, and other PCIe devices to a Host Root Complex system. 
  • Configure Linux environments for different reference boards.
  • Modify and perform Yocto builds for new functionality.
  • Provide SW to support HW MLSoC test validation team.
  • Own the overall design of the data transfer and data structures used for management and data transfer over PCIe.
 Key Requirements: 
  • BS/MS in computer science with minimum of 10+ years of experience
  • Hands-on, production deployed experience developing firmware, boot code and SW using high performance 64 bit Arm processors.
  • Hands-on, production deployed experience developing drivers for PCIe End Point and Root Complex embedded systems.
  • Development experience (preferably production deployed) with x86 Linux Host systems to communicate with PCIe EP devices.
  • Hands-on experience bringing up and troubleshooting new PCIe devices.
  • Development experience with Embedded Linux (e.g., Yocto) and embedded RTOS (e.g., QNX) is highly desirable
  • Experience in working with silicon teams is highly desirable.
  • Good proficiency with C/C++
  • Proven track record and experience building and delivering complex SW products.
 Personal attributes  Can-do attitude. Strong team player. Curious, creative, and good at solving problems. Execution and results oriented. Self-driven, thinks big and is highly accountable. Good communication skills.

Location

Bengaluru, India

Job Overview
Job Posted:
3 weeks ago
Job Expires:
Job Type
Full Time

Share This Job: