Jobs

Machine Learning Performance Engineer


Job details
  • Jane Street
  • London
  • 5 months ago

We are looking for an engineer with experience in low-level systems programming and optimisation to join our growing ML team.

Machine learning is a critical pillar of Jane Street's global business. Our ever-evolving trading environment serves as a unique, rapid-feedback platform for ML experimentation, allowing us to incorporate new ideas with relatively little friction.

Your part here is optimising 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?

If you’ve never thought about a career in finance, you’re in good company. Many of us were in the same position before working here. If you have a curious mind and a passion for solving interesting problems, we have a feeling you’ll fit right in.

There’s no fixed set of skills, but here are some of the things we’re looking for:

  • 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 optimisation experience using tools like CUDA GDB, NSight Systems, NSight Computesight-systems and 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 optimisation 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
  • Fluency in English

If you're a recruiting agency and want to partner with us, please reach out to.

Sign up for our newsletter

The latest news, articles, and resources, sent to your inbox weekly.

Similar Jobs

Machine Learning Performance Engineer- World-Leading Prop Trading Fund

Summary:Exciting opportunity to work at a tech-centric prop trading fund which trades a wide range of financial products, with offices across the globe. Looking for an experienced engineer with low-level systems programming and optimization expertise to join their growing ML team.Machine learning is front and centre at this firm, and...

Oxford Knight London

AI Performance Engineer (Some experience required)

We are looking for a software engineer with a strong analytical approach to join our team and help ensure the best performance and quality with most recent Arm ML software and IP. The successful engineer will be highly flexible, quick to learn and be motivated by the opportunity to understand...

ARM Cambridge

AI Performance Engineer (Some experience required)

We are looking for a software engineer with a strong analytical approach to join our team and help ensure the best performance and quality with most recent Arm ML software and IP. The successful engineer will be highly flexible, quick to learn and be motivated by the opportunity to understand...

ARM Farnham

▷ (Urgent) AI Performance Engineer (Some experiencerequired)

We are looking for a software engineer with a stronganalytical approach to join our team and help ensure the bestperformance and quality with most recent Arm ML software and IP.The successful engineer will be highly flexible, quick to learn andbe motivated by the opportunity to understand and improve theperformance of...

ARM Cambridge

Software Engineer III, Machine Learning, Google Cloud Performance

Note: By applying to this position you will have an opportunity to share your preferred working location from the following:Raleigh, NC, USA; Durham, UK.Minimum qualifications:Bachelor’s degree or equivalent practical experience.2 years of experience with software developme...

Google Durham

Senior Performance Modelling Engineer

I'm currently partnered with a Semiconductor start-up, based in Silicon Valley. They are working on re-imagining Silicon, creating RISCV based computing platforms aimed at transforming the industry. As a Senior Performance Modelling Engineer you will develop functional and timing simulators, undertake performance analysis for architectural exploration and identify and fix...

IC Resources Cambridge