Engaging in deep optimization of high-performance operators, involving but not limited to GPU kernel optimization, instruction-level tuning, and compiler optimization. These optimizations will directly support customers or be coordinated within computation libraries and open-source projects across the community, like cuDNN, cuBLAS, and CUTLASS and Open- source libs like DeepGEMM, FlashMLA, FlashAttention, Flashinfer...
Improving communication for broad distributed large language models workloads. You will spearhead advancements in distributed training and inference by refining communication libraries(NCCL,NCCL GIN , NVSHMEM) and engaging in open-source communication libraries(like DeepEP, NCCL EP). This demands in-depth study of interconnect topologies(NVLINK) and network protocols(InfiniBand/RoCE) to design efficient data transfer strategies and methods for compute-communication overlap.
What we need to see
A degree or equivalent experience from a university in an engineering or computer science related field. A masters or doctoral candidate is preferred.
Solid understanding of C, C++, Python, or Fortran.
Strong knowledge of software development, programming techniques, and algorithms.
Strong mathematical fundamentals, including linear algebra and numerical methods.
Background in parallel programming and accelerated computing, with comprehensive knowledge of parallel architectures and methods for performance analysis and tuning. Experience in GPU programming is desirable.
Experience in full-stack performance analysis and optimization within at least one of these areas: large language models and high-performance computing. Having expertise ranging from operator-level through framework-level to algorithm-level optimization is strongly preferred.
Experience in distributed communication optimization is highly advantageous. This involves familiarity with remote direct memory access, GPU interconnects, collective communication algorithms, and associated open-source libraries used in large-scale model training and inference.
Solid software engineering fundamentals and system architecture thinking, with the ability to build modules and drive engineering practices in complex systems.
Strong communication and cooperation abilities, with the capability to work efficiently alongside architecture, research, and software product teams to promote optimization from concept to production.