리벨리온에서 Linux 디바이스 드라이버 엔지니어를 채용합니다. 5년 이상의 커널 개발 경력과 PCIe/DMA에 대한 깊은 이해가 필수입니다. 고성능 NPU를 위한 드라이버 설계 및 최적화를 담당하며, Rust-for-Linux 등 최신 기술 도입에 적극적인 분을 찾습니다. 시스템 소프트웨어의 핵심 기반을 구축하는 중요한 역할을 수행하게 됩니다.
Develop and maintain Linux device drivers for Rebellions NPUs, building robust foundations for high-performance AI computation
Design and implement high-throughput, low-latency data transfer solutions and complex DMA operations across PCIe subsystems
Architect and optimize advanced memory management subsystems, ensuring high stability, zero-overhead, and safe memory handling during host-device communication
Investigate and adopt modern kernel development paradigms (e.g., safe memory abstractions, Rust-for-Linux concepts) to eliminate memory reference vulnerabilities and maximize DRM subsystem stability
Design and implement effective communication interfaces with device firmware, developing customized features for seamless hardware integration
Support and debug complex system-level issues across the software stack and hardware interfaces, optimizing overall system architecture
Key Qualifications
Bachelor’s or higher degree in Computer Science, Electrical Engineering, Computer Engineering, or related fields
Minimum of 5 years of experience in general Linux kernel and device driver development (e.g., PCIe, DMA, Network, Storage, DRM)
Deep understanding of SR-IOV / PCIe device virtualization, IOMMU/SMMU, and DMA (dma-mapping, dma-buf, scatter-gather)
Strong command of kernel concurrency(locking and ordering (AB-BA), refcounting/object lifetime, RCU, workqueues/kthreads) and the ability to debug deadlocks and use-after-free
Proven low-level debugging from kernel logs, KASAN/ASAN, and coredumps
Proficiency in C/C++/Rust
Strong foundation in handling hardware-software interfaces and interrupt handling
Excellent communication, analytical, and problem-solving skills
Ideal Qualifications
Interest or hands-on experience in modern Linux kernel memory management trends, including the use of Rust for Linux (e.g., utilizing ‘zerocopy’ or safe abstractions for device drivers)
Previous experience in GPU, NPU, or other complex accelerator device driver development (e.g., DRM subsystem)
Understanding of device memory communication protocols and handling zero-copy data movement between user-space and kernel/hardware
Over 5 years of experience in kernel driver development and performance tuning for large-scale systems