E

Etched

Designs chips and servers for running AI models

Kernel Driver Software Engineer

Systems Software EngineeringConfirmed live in the last 24 hours
Full-timeSan Jose, CA, USA$150k - $350k /yr

About the Job

Requirements

  • Proficiency in C/C++.
  • Strong understanding of kernel-mode driver development and debugging.
  • Deep understanding of operating system internals, with 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.
  • Experience with version control systems such as Git.
  • Experience with debugging tools such as gdb and kgdb.

Responsibilities

  • Design, develop, and maintain kernel-mode drivers for high reliability, informative debugging, and optimal performance.
  • Analyze and optimize driver performance for demanding AI workloads, minimizing latency and maximizing throughput.
  • Collaborate 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 using kernel memory mapping, page table configuration, NUMA awareness for device data caching, and IOMMU configuration.
  • Build kernel drivers designed to maintain security across host processes, physical memory spaces, and device attestation.
  • Diagnose and resolve driver-related issues using kernel debugging tools and techniques such as ftrace and dmesg.
  • Design and implement synchronization mechanisms for concurrent access to multiple accelerators.
  • Develop and execute test plans to validate driver functionality, stability, and performance in manufacturing and production environments.
  • Collaborate with software and hardware teams to diagnose and resolve system-level issues.
  • Develop and optimize kernel-mode drivers for new machine-learning accelerators.
  • Develop and optimize memory management, including kernel memory mapping and IOMMU configurations, for high-bandwidth data transfers.
  • Develop performance benchmarks and profiling tools to analyze driver performance.
  • Optimize PCIe communication between the host and PCIe devices using equipment such as PCIe analyzers.
  • Implement and debug power management features for PCIe devices.
  • Integrate machine-learning accelerators into containerized and virtualized environments.
  • Implement and optimize para-virtualization techniques for PCIe devices.
  • Configure and optimize page tables for efficient accelerator memory access.
  • Participate in hardware-software co-design reviews to optimize performance and power efficiency.

Desired Qualifications

  • Experience developing and debugging kernel-mode drivers for GPU or other accelerator devices.
  • Strong understanding of hardware/software interactions.
  • Experience optimizing driver performance for demanding workloads.
  • Experience with machine-learning workloads.
  • Experience debugging hardware/software interactions, especially in virtualized environments.
  • Experience implementing and optimizing SR-IOV and VFIO.
  • In-depth knowledge of kernel memory mapping, page tables, and IOMMU.
  • Experience with 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 such as perf and VTune.
  • Knowledge of hardware virtualization techniques, including para-virtualization.
  • Experience with CI/CD pipelines.
  • Experience with Rust.
  • Experience with machine-learning frameworks such as TensorFlow or PyTorch.
  • Experience with data center orchestration technologies such as Kubernetes and Docker.

About the Company

Etched

Designs chips and servers for running AI models

Etched designs AI chips and the server racks built around them for AI companies and cloud providers, focusing only on inference, the work of running trained models to answer requests. In 2024, it unveiled a chip hard-wired to run only transformers, the type of AI model behind ChatGPT, after betting at its founding that they would dominate AI. Etched develops its chips, racks, and software together, and each rack links many chips through a shared pool of fast memory so very large models with long inputs can answer quickly. It earns money by selling these complete systems rather than individual chips. Etched was founded in 2022 and is based in San Jose, California.

Company size
201-500
Company stage
Series D
Total funding
$1.6B
Headquarters
San Jose, CA
Founded
2022

Recently Posted Jobs

Explore more opportunities at Etched

See more jobs