Auto-apply is a Pro feature

Let Findyet apply to this job for you:

  • Your CV is tailored to this posting.
  • The application form's questions are answered from your profile.
  • You review everything and approve before anything is sent.
  • Findyet submits the application and adds it to your tracker.

Available on Greenhouse postings today, up to 3 applications a day on Pro.

The first 100 verified accounts get Pro free for 90 days.

See plans

Etched

Kernel Driver Software Engineer

Posted Updated
Discussion
  • Kernel-Mode Driver Development: Design, develop, and maintain kernel-mode drivers ensuring high reliability, informative debug, and optimal performance
  • Performance Optimization: Analyze and optimize driver performance for demanding AI workloads, focusing on minimizing latency and maximizing throughput
  • Hardware Integration and Co-Design: Collaborate closely with hardware engineers throughout the ASIC design process.
  • Virtualization Support: Implement driver support for device virtualization technologies, including SR-IOV, VFIO, and para-virtualization
  • Memory Management: Implement efficient memory management strategies considering kernel memory mapping, page tables configuration, NUMA awareness for device data caching, and IOMMU configuration
  • Security: Build kernel drivers fundamentally designed to support and maintain security across host processes, physical memory spaces, and device attestation
  • Debugging and Troubleshooting: Diagnose and resolve complex driver-related issues, using common kernel debugging tools and techniques (ftrace, dmesg, etc.) to identify and fix bugs
  • Synchronization and Concurrency: Design and implement synchronization mechanisms to handle concurrent access to multiple accelerators
  • System Validation and Testing: Develop and execute comprehensive test plans to validate driver functionality, stability, and performance in manufacturing and in general production environments
  • Collaboration and Troubleshooting: Collaborate with software and hardware teams to diagnose and resolve complex system-level issues
  • Develop and optimize kernel-mode drivers for new ML accelerators
  • Implement and optimize memory management, including kernel memory mapping and IOMMU configurations, for high-bandwidth data transfers
  • Debug and resolve complex driver-related issues impacting ML workload performance
  • Develop performance benchmarks and profiling tools to analyze driver performance
  • Integrate driver support for advanced features like hardware virtualization and security, including SR-IOV and VFIO
  • Optimizing PCIe communication between the host and PCIe devices, using advanced equipment like PCIe analyzers
  • Implement and debug power management features for PCIe devices
  • Integrating ML accelerators into containerized and virtualized environments
  • Implementing and optimizing para-virtualization techniques for PCIe devices
  • Configure and optimize page tables for efficient memory access from the ML accelerator
  • Participate in hardware-software co-design reviews across teams to optimize performance and power efficiency

Benefits

  • Competitive Salary and Equity - We offer a competitive salary and equity package that aligns with industry standards
  • Benefits - Your wellbeing is important to us. We offer unlimited PTO, life insurance, and a 401(k)
  • Full Insurance Coverage - Our insurance includes full medical, dental, and vision with 100% of premium covered
  • Strong understanding of PCIe and other hardware interfaces
  • Experience with hardware/software interfacing and device drivers
  • Experience with memory management and synchronization in kernel environments
  • Proficiency in C/C++
  • Strong understanding of kernel-mode driver development and debugging
  • Deep understanding of operating system internals (Linux preferred)
  • Experience with device virtualization technologies, including SR-IOV and VFIO
  • Strong understanding of kernel memory mapping, page table configuration, and IOMMU
  • Familiarity with hardware-software co-design principles
  • Proven ability to analyze complex technical problems and provide effective solutions
  • Experience with version control systems (e.g., Git)
  • Experience with debugging tools (e.g., gdb, kgdb)
  • Excellent communication and collaboration 1 skills
  • Candidates with experience in developing and debugging kernel-mode drivers for GPU or other accelerator devices
  • Candidates with a strong understanding of hardware/software interactions
  • Candidates with experience in optimizing driver performance for demanding workloads
  • Candidates with experience in ML workloads
  • Candidates who have debugged complex hardware and software interactions, especially in virtualized environments
  • Candidates with in-depth knowledge of kernel memory mapping, page tables, and IOMMU
  • Candidates with experience in implementing and optimizing SR-IOV and VFIO
  • Candidates with experience in hardware-software co-design projects
  • Experience with CUDA, OpenCL, or other GPU programming models
  • Experience with GPU driver development
  • Experience with performance profiling and benchmarking tools (perf, VTune)
  • Knowledge of hardware virtualization techniques, including para-virtualization
  • Experience with Rust
  • Experience with ML frameworks like Tensorflow or Pytorch
  • Experience with CI/CD pipelines
  • Experience with data center orchestration technologies (Kubernetes, Docker)

Skills

Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.