Senior Software Engineer, MPI/High-Performance Network
Get in on the ground-floor and be a major contributor helping revolutionize the High Performance Computing (HPC) landscape for Artificial Intelligence, Machine Learning, and Deep Learning. We are looking for a motivated self-starting Senior Software Engineer to help build our software platform and focus on the network, storage and virtualization layers of our customer’s applications. High performance Linux software is central to our mission, and squeezing out every last nanosecond of latency and gigabyte of bandwidth is our objective.
The successful candidate will take great joy in seeking out and destroying performance bottlenecks at all layers of the software stack, as well as coming up with designs that take full advantage of our fabric’s unique shared memory interface. Will work with engineering leadership to establish objectives, and execute strategic, cross-functional initiatives to solidify and evolve the architectural foundation for high-performance computing hardware and software products related to Open Fabrics Software (OFED), i.e. MPI, CUDA, RDMA, IB Verbs, Libfabric.
Requirements:
- BS degree (MS or PhD desired) in Computer Engineering, Computer Science or similar
- 5+ years of development experience in systems software
A familiarity and good understanding of the OFED stack including: MPI, CUDA, RDMA, IB Verbs and Libfabric providers
Knowledge of Linux kernel space programming as well as Linux systems programming
Proficiency in C
Network programming (such as TCP/IP and low-level networking stacks)
Ability to learn quickly, work with limited direction, and be self motivated
Excellent conversational and written communication, and presentation skills
Preferred Qualifications:
Experience writing Linux user and kernel code for high-performance fabrics, I/O devices, such as NVMe, OFED (Infiniband, RoCE, iWARP) or DPDK
High Performance Networking for TCP- and UDP-based Applications and Applications-driven Performance Evaluation
Knowledge on MPI standards, multi-core processors, GP-GPUs/accelerators, and high-performance networking is desired
Experience with MPICH, MVAPICH, OpenMPI
Experience with PCI Express and single-root I/O virtualization (SR-IOV) a plus
Experience with open source community initiatives a plus
Strong Linux architecture knowledge
A clear passion for learning emerging technology independently and continuously