Systems Software Engineer, (Linux, CUDA)
Core
Design, develop, and demonstrate system-level software for future memory and storage technologies, collaborating with AI/ML specialists and hardware engineers to evaluate emerging hardware concepts and quantify performance gains.
Role type
Senior IC systems software engineer (Linux, CUDA, heterogeneous computing)
Builds
Proof-of-concept hardware systems, Linux applications, libraries, and emulators for advanced heterogeneous computing
Domain
Semiconductor industry, memory and storage systems, heterogeneous computing
Deliverable
production ML models | product features | infrastructure
Required skills
GPU programming (CUDA, SYCL, OpenCL), C/C++/Python development, Linux kernel programming, heterogeneous compute architecture debugging, emulation development, system-level problem solving
Preferred skills
Emerging AI software stacks, DRAM/NAND/emerging memory technologies, hardware-software integration, system bring-up in exploratory environments
Technologies
Linux, CUDA, SYCL, Python, Rust, C++, QEMU, PyTorch, NUMA, PCIe, CXL, NVLink, UALink, gdb, /proc, /sysfs
Responsibilities
Develop and port applications to demonstrate proof-of-concept hardware systems; Collaborate with AI/ML experts to analyze future AI workloads; Define and complete analytical experiments to evaluate new system features; Build and modify Linux applications and libraries for heterogeneous computing; Develop emulators to predict system-level performance; Debug system-level issues across application, kernel, OS, and hardware boundaries; Present technical findings to internal customers