EnCharge AI logo
EnCharge AI
Posted 13 days agoVerified live 2d ago

Device Driver Engineer

Brief overview

Remote
UndergradOr in progress
3+ yrsMinimum
Linux Device Driver DevelopmentWindows Device Driver DevelopmentPCIe HardwareC/C++Kernel-Mode ProgrammingDMAMMIOInterrupt HandlingKernel Memory ManagementLow-Level Debugging gdbLow-Level Debugging perfLow-Level Debugging ftraceLow-Level Debugging dmesgVFIO and Hypervisor PassthroughSecure Boot and Trusted Execution Environments

About the company

EnCharge AI logo
EnCharge AIenchargeai.com

EnCharge AI designs analog in-memory-computing AI chips and develops AI systems for AI computing.

Job description

Summary

EnCharge AI develops advanced AI hardware and software systems for edge-to-cloud computing, centered on high-efficiency in-memory computing technology. The Device Driver Engineer will design, implement, optimize, and maintain high-performance Linux and Windows driver stacks for AI accelerator hardware, collaborating with hardware, firmware, and AI software teams.

Responsibilities

  • Develop, optimize, and maintain Linux/Windows PCIe device drivers for AI accelerators
  • Implement low-level hardware interactions, DMA, memory management, and interrupt handling
  • Work on driver optimizations to reduce latency and improve throughput for AI workloads
  • Debug and troubleshoot PCIe protocol, kernel panics, crashes, and performance bottlenecks
  • Collaborate with hardware, firmware, and AI software teams to define driver interfaces
  • Ensure compliance with PCIe standards (Gen4/Gen5), SR-IOV, BAR memory mapping, and IOMMU
  • Support virtualization (VFIO, SR-IOV, DPUs) and containerized environments (Kubernetes, Docker, etc.)
  • Develop tools for profiling, debugging, and monitoring driver performance
  • Contribute to open-source kernel modules if applicable

Skills

  • Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field
  • 3+ years of experience in device driver development for Linux and/or Windows
  • Strong experience with PCIe-based hardware, including BAR regions, DMA, interrupts, and MMIO
  • Proficiency in C/C++ and kernel-mode programming (Linux Kernel, Windows WDDM/WDF/MCDM)
  • Knowledge of low-level debugging tools (gdb, perf, ftrace, dmesg, PCIe analyzers)
  • Understanding of multi-threading, synchronization, and memory management in kernel space
  • Experience in hypervisor interactions, VFIO, and passthrough solutions
  • Knowledge of secure boot, firmware updates, and trusted execution environments (TEE)
  • Experience with AI-specific accelerators (e.g., GPUs, NPUs, TPUs) is a plus
  • Familiarity with high-performance AI/ML workloads is a plus

Qualifications

Must Haves

  • Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field
  • 3+ years of experience in device driver development for Linux and/or Windows
  • Strong experience with PCIe-based hardware, including BAR regions, DMA, interrupts, and MMIO
  • Proficiency in C/C++ and kernel-mode programming (Linux Kernel, Windows WDDM/WDF/MCDM)
  • Knowledge of low-level debugging tools (gdb, perf, ftrace, dmesg, PCIe analyzers)
  • Understanding of multi-threading, synchronization, and memory management in kernel space
  • Experience in hypervisor interactions, VFIO, and passthrough solutions
  • Knowledge of secure boot, firmware updates, and trusted execution environments (TEE)

Nice to Haves

  • Experience with AI-specific accelerators (e.g., GPUs, NPUs, TPUs) is a plus
  • Familiarity with high-performance AI/ML workloads is a plus

More jobs like this