Developer Technology Engineer - AI

NVIDIA NVIDIA · Semiconductors · Shanghai, China +2

NVIDIA Developer Technology Engineer focused on optimizing AI workloads, particularly large language models (LLMs), for GPUs. This role involves deep dives into performance bottlenecks, library development, GPU kernel optimization, and improving distributed training and inference communication. The engineer will collaborate with application developers, architecture, research, and software teams to influence next-generation hardware and software platforms.

What you'd actually do

  1. Working directly with key application developers to understand the current and future problems they are solving. You will build and optimize core parallel algorithms and data structures to deliver the most effective solutions using GPUs, through both library development and direct contribution to applications. This includes training and inference optimization for large language models (LLM), contributing to frameworks and open-source projects in the large language models ecosystem, such as Megatron and TRTLLM, SGLang, vLLM...
  2. Collaborating closely with the architecture, research, libraries, tools, and system software teams at NVIDIA to influence the build of next-generation architectures, software platforms, and programming models. This includes investigating impact on application performance and developer efficiency, and turning real-world developer feedback into actionable platform improvements.
  3. 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...
  4. 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.

Skills

Required

  • C, C++, Python, or Fortran
  • software development, programming techniques, and algorithms
  • parallel programming and accelerated computing
  • parallel architectures and methods for performance analysis and tuning
  • full-stack performance analysis and optimization within at least one of these areas: large language models and high-performance computing
  • software engineering fundamentals and system architecture thinking
  • communication and cooperation abilities

Nice to have

  • GPU programming
  • expertise ranging from operator-level through framework-level to algorithm-level optimization
  • distributed communication optimization
  • remote direct memory access, GPU interconnects, collective communication algorithms, and associated open-source libraries used in large-scale model training and inference

What the JD emphasized

  • training and inference optimization for large language models (LLM)
  • distributed training and inference
  • GPU kernel optimization
  • distributed communication optimization

Other signals

  • optimization
  • GPU
  • LLM
  • distributed systems
  • performance