Kernel Driver Software Engineer

Etched, LLC
San Jose, CA, United States
1 day ago
Apply on startup.jobs
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source

Tech stack

Artificial Intelligence C++ (Programming Language) Profiling Nvidia CUDA Concurrency Controls Data Centers Software Debugging Linux Device Drivers Memory Management Hardware Interface Design Hardware Virtualization
+15 more
Kernel Debuggers OpenCL PCI Express Tensorflow Systems Integration Virtualization Technology Application Specific Integrated Circuits Pytorch Gpu Programming Git Perf (Linux) Kubernetes Software Version Control Docker Data Caching

Job description

  • Design, develop, and maintain kernel-mode drivers ensuring high reliability, informative debug, and optimal performance.
  • Analyze and optimize driver performance for demanding AI workloads, focusing on minimizing latency and maximizing throughput.
  • Collaborate closely with hardware engineers throughout the ASIC design process..
  • Implement driver support for device virtualization technologies, including SR-IOV, VFIO, and para-virtualization.
  • Implement efficient memory management strategies considering kernel memory mapping, page tables configuration, NUMA awareness for device data caching, and IOMMU configuration.
  • Build kernel drivers fundamentally designed to support and maintain security across host processes, physical memory spaces, and device attestation.
  • Diagnose and resolve complex driver-related issues, using common kernel debugging tools and techniques (ftrace, dmesg, etc.) to identify and fix bugs.
  • Design and implement synchronization mechanisms to handle concurrent access to multiple accelerators.
  • Develop and execute comprehensive test plans to validate driver functionality, stability, and performance in manufacturing and in general production environments.
  • Collaborate with software and hardware teams to diagnose and resolve complex system-level issues.

Representative Projects

  • 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.

Requirements

  • Proficiency in C/C++.
  • Strong understanding of kernel-mode driver development and debugging.
  • Deep understanding of operating system internals (Linux preferred).
  • Experience with hardware/software interfacing and device drivers.
  • Experience with memory management and synchronization in kernel environments.
  • Strong understanding of PCIe and other hardware interfaces.
  • 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.
  • Excellent communication and collaboration 1 skills.
  • Experience with version control systems (e.g., Git).
  • Experience with debugging tools (e.g., gdb, kgdb).

Strong candidates may also have experience with (Nice-to-have qualifications)

  • 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 experience in implementing and optimizing SR-IOV and VFIO.
  • Candidates with in-depth knowledge of kernel memory mapping, page tables, and IOMMU.
  • Candidates with experience in hardware-software co-design projects.
  • Experience with GPU driver development.
  • Experience with CUDA, OpenCL, or other GPU programming models.
  • Experience with performance profiling and benchmarking tools (perf, VTune).
  • Knowledge of hardware virtualization techniques, including para-virtualization.
  • Experience with CI/CD pipelines.
  • Experience with Rust.
  • Experience with ML frameworks like Tensorflow or Pytorch.
  • Experience with data center orchestration technologies (Kubernetes, Docker).

Benefits & conditions

  • Medical, dental, and vision packages with generous premium coverage
  • $500 per month credit for waiving medical benefits
  • Housing subsidy of $2k per month for those living within walking distance of the office
  • Relocation support for those moving to San Jose (Santana Row)
  • Various wellness benefits covering fitness, mental health, and more
  • Daily lunch + dinner in our office
  • Unlimited compute budget subject to ROI justification

How we’re different

Etched believes in the Bitter Lesson. We think most of the progress in the AI field has come from using more FLOPs to train and run models, and the best way to get more FLOPs is to build model-specific hardware. Larger and larger training runs encourage companies to consolidate around fewer model architectures, which creates a market for single-model ASICs.

About the company

Etched is building the world’s first AI inference system purpose-built for transformers - delivering over 10x higher performance and dramatically lower cost and latency than a B200. With Etched ASICs, you can build products that would be impossible with GPUs, like real-time video generation models and extremely deep & parallel chain-of-thought reasoning agents. Backed by hundreds of millions from top-tier investors and staffed by leading engineers, Etched is redefining the infrastructure layer for the fastest growing industry in history.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on startup.jobs
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:19 min

Advancing autonomous driving capabilities with specialized software talent

Katrin Lehmann Katrin Lehmann +1 · Coffee With Developers

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

2:07 min

Inspecting default bridge architectures and custom Docker networks

Oliver Seitz Oliver Seitz · World Congress 2025

3:51 min

Technical skills and collaborative mindsets for mobility engineering roles

Georg Kühberger +1 · LIVE

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

Videos

See all

Related articles

See all