SlipstreamJobsFresh Startup & VC-Backed Jobs

Senior Staff Software Engineer, Linux Kernel

Efficient Computer - San Francisco, CA, United States - Hybrid - posted 2026-10-06

Apply on the company site

SlipstreamJobs tracks this role from the company's public career site. Apply directly on the employer's site.

Efficient Computer is building next-generation energy-efficient, general-purpose processors based on the Fabric architecture, a novel spatial dataflow design. The company has shipped its first processor (Electron E1) in volume and recently closed $97M in Series B funding. You will own the Linux kernel-mode driver that brings the Fabric accelerator to life. This is a key role on the System Software team, working closely with architecture, micro-architecture, verification, and compiler teams during pre-silicon development and bring-up. **Key Responsibilities:** **Own the Kernel Driver** - Design, implement, and maintain the Linux kernel-mode driver for the Fabric accelerator, including device discovery and probe, MMIO register interfaces, interrupt handling, command and completion queue management, power management, firmware, chip diagnostics, logging, and device health. - Define how custom hardware accelerators are exposed to Linux: ioctl and sysfs interfaces, and the submission and synchronization model between application cores and the Fabric. - Keep the driver clean, upstreamable in style, and portable across kernel and device versions. - Implement the unified memory model between ARM cores and the Fabric accelerator. - Own SMMU (IOMMU) integration: stream and context configuration, tensor pool allocation, page table management, stage-1 and stage-2 translation, shared virtual addressing, and fault handling. **Drive Pre-Silicon Bringup and Platform Enablement** - Build and maintain QEMU device models and board definitions for the Fabric and its SoC so that the kernel, driver, and runtime can be developed and tested before silicon. - Own the Linux boot path on new platforms: boot firmware handoff, device tree, kernel configuration, early console, and root filesystem, from first boot in emulation through FPGA prototypes to production silicon. - Lead kernel-side bring-up on first silicon: validating MMIO map, interrupts, clocks, resets, and memory against the hardware specification, and turning findings into bug reports and design feedback for the hardware team. - Be the go-to engineer for kernel debugging across the stack: crash dumps, KGDB and JTAG, ftrace and perf, lockdep and KASAN, and hard-to-reproduce hangs and memory corruptions. - Establish kernel-level test coverage, including driver unit tests, emulation-based regression suites, and hardware-in-the-loop validation. **Required Qualifications** - B.S. in Electrical/Computer Engineering, Computer Science, or equivalent; M.S. a plus. - 7+ years of systems software experience, including significant hands-on Linux kernel-mode driver development for complex devices (accelerators, GPUs, NPUs, networking, or storage). - Deep understanding of Linux kernel memory management, including cache coherence, IOMMU/SMMU configuration, and unified or shared virtual memory between CPU and accelerators. - Hands-on experience with QEMU, emulation, or simulation environments, including writing or extending device models and board definitions. - Experience with pre-silicon hardware bring-up and first-silicon enablement, working from hardware specifications and register maps before the platform is stable. - Experience designing runtime interfaces between kernel and user space: ABI and HAL design, synchronization, memory sharing, and error handling. - Strong kernel debugging skills across crash analysis, tracing, hardware debuggers, and race and memory-corruption diagnosis. - Fluency with memory-mapped I/O: register-level programming, ordering and barrier semantics, and interrupt handling. - Experience interfacing custom hardware accelerators to Linux. - Strong experience with ARM cores and the ARM architecture (AArch64, exception levels, GIC, SMMU, cache and memory attributes). - Solid understanding of the Linux boot flow: boot firmware, device tree, kernel initialization, and early platform enablement. - Expert C and strong scripting skills; comfortable working with AI-assisted development tools for code, analysis, and debugging. **Desired Qualifications** - Experience with FPGA prototyping and hardware emulation platforms (Palladium, Zebu, Veloce, or similar). - Knowledge of dataflow, spatial, or other novel compute architectures, and of how compilers and runtimes target them. - Experience on a first-generation silicon product, where the software stack and the hardware matured together. - Experience working on a CUDA, ROCm, or other language runtime software stack.

Similar roles