Lead Hpc Software Optimization Engineer - C++

AMD AMD · Semiconductors · Hyderabad, India · Engineering

Lead HPC Software Optimization Engineer at AMD focused on optimizing GPU kernels and distributed software for large-scale AI training and inference workloads. The role involves architecting and implementing compute kernels, designing scaling strategies, profiling systems, building benchmarking infrastructure, and guiding agile teams. Requires deep systems thinking, fluency in GPU architecture, parallel computing, AI model execution, C++ (17/20), CUDA, distributed AI computing (NCCL, MPI), and familiarity with AI frameworks.

What you'd actually do

  1. GPU Kernel Optimization: Develop and optimize GPU kernels to accelerate inference and training of large machine learning models while ensuring numerical accuracy and runtime efficiency.
  2. Multi-GPU and Multi-Node Scaling: Architect and implement strategies for distributed training/inference across multi-GPU/multi-node environments using model/data parallelism techniques.
  3. Performance Profiling: Identify bottlenecks and performance limitations using profiling tools; propose and implement optimizations to improve hardware utilization.
  4. Parallel Computing: Design and implement multi-threaded and synchronized compute techniques for scalable execution on modern GPU architectures.
  5. Benchmarking & Testing: Build robust benchmarking and validation infrastructure to assess performance, reliability, and scalability of deployed software.

Skills

Required

  • GPU kernel optimization in C++ (17/20)
  • hands-on CUDA and low-level GPU programming
  • distributed AI computing (multi-GPU, NCCL, MPI)
  • performance tuning with profiling tools (Nsight, VTune, Perf)
  • Python automation
  • software leadership experience

Nice to have

  • GPU kernel development (HIP, CUDA C/C++, PTX, GPU Assembly)
  • GPU kernel optimization down to assembly level
  • GPU hardware architectures (AMD, nVidia, Intel, …)
  • ML/HPC related parallel algorithm design, e.g., GEMMs, element-wise, attention, reductions
  • ROCm/CUDA Software Stacks (Runtimes, Compilers, Libraries)
  • Advanced C++ software development (including meta-programming, C++20 features)
  • Software development, analyzing, and debugging of complex algorithms.
  • Reading, understanding, and changing advanced C++
  • Reading, understanding, and changing complex assembly
  • Advanced knowledge of software development processes.
  • Excellent working knowledge of GPU/CPU architectures.
  • Distributed computing and multi-GPU environments.
  • Advanced performance profiling and optimization tools.
  • C++ Performance optimization
  • Optimizing GPU kernels in C++20.
  • Strong experience in low-level GPU kernel optimization.
  • Optimization of GPU assembly
  • Practical usage of the LLVM compiler flow and tools
  • Proficiency in HIP / CUDA and GPU programming.
  • GPU performance bottleneck analysis
  • GPU Power Optimization analysis
  • Understanding Neural Network models data flow and operations
  • Working with complex frameworks/libraries such as (PyTorch, vLLM, CUTLASS, Kokkos, etc.)
  • Working on complex algorithms at operator level (variances of attention algorithms,MoE, quantization/scaling etc.)
  • OS Kernel Debug and Kernel optimization
  • GPU API programming
  • CPU/ASIC software development

What the JD emphasized

  • GPU kernel optimization
  • distributed AI computing
  • large-scale AI workloads
  • performance-critical code
  • software leadership experience

Other signals

  • GPU kernel optimization
  • distributed AI computing
  • large-scale machine learning training and inference