ML Performance Engineer (CUDA, Python)

Overview

Remote
Depends on Experience
Contract - Independent
Contract - W2

Skills

CUDA
GDB
GPU
Computer Networking
Machine Learning (ML)
Data Storage
Debugging
InfiniBand
Optimization
Presentations
Python
Real-time
Communication
Algorithms
Training
Sass
Sales
Research

Job Details

ML Performance Engineer CUDA Python
Client: Internal WWT
Duration: 6 month contract with the likelihood to extend
Location: Remote but candidates must be willing to travel to different customer sites.

*Must be willing to travel
*Must have strong pre-sales abilities i.e. presentation skills, communication skills, etc.
*Must be willing to help train WWT employees and customers

Your part here is optimizing the performance of our models both training and inference. We care about efficient large-scale training, low-latency inference in real-time systems, and high-throughput inference in research. Part of this is improving straightforward CUDA, but the interesting part needs a whole-systems approach, including storage systems, networking, and host- and GPU-level considerations. Zooming in, we also want to ensure our platform makes sense even at the lowest level is all that throughput actually goodput? Does loading that vector from the L2 cache really take that long?

  • An understanding of modern ML techniques and toolsets
  • The experience and systems knowledge required to debug a training run s performance end to end
  • Low-level GPU knowledge of PTX, SASS, warps, cooperative groups, Tensor Cores, and the memory hierarchy
  • Debugging and optimization experience using tools like CUDA GDB, NSight Systems, NSight Compute
  • Library knowledge of Triton, CUTLASS, CUB, Thrust, cuDNN, and cuBLAS
  • Intuition about the latency and throughput characteristics of CUDA graph launch, tensor core arithmetic, warp-level synchronization, and asynchronous memory loads
  • Background in Infiniband, RoCE, GPUDirect, PXN, rail optimization, and NVLink, and how to use these networking technologies to link up GPU clusters
  • An understanding of the collective algorithms supporting distributed GPU training in NCCL or MPI
  • An inventive approach and the willingness to ask hard questions about whether we're taking the right approaches and using the right tools

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.