Enable job alerts via email!

Machine Learning Performance Engineer

Jane Street

City of Westminster

On-site

GBP 70,000 - 90,000

Full time

Today
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A leading financial firm in the UK is seeking an engineer with expertise in low-level systems programming and machine learning optimization. The successful candidate will be responsible for enhancing the performance of ML models in both training and inference contexts. Applicants should have a strong understanding of modern ML techniques, low-level GPU knowledge, and experience with debugging tools. Fluency in English is essential. This role offers a unique opportunity to work in a dynamic trading environment.

Qualifications

  • Experience in low-level systems programming and optimization.
  • Ability to debug a training run's performance end-to-end.
  • Familiarity with distributed GPU training algorithms.

Responsibilities

  • Optimize the performance of ML models for both training and inference.
  • Work on efficient large-scale training and low-latency inference.
  • Improve systems at both the GPU and host level.

Skills

Understanding of modern ML techniques and toolsets
Debugging and optimization experience with CUDA GDB
Low-level GPU knowledge of PTX and SASS
Intuition about latency and throughput characteristics
Background in Infiniband and networking technologies
Fluency in English

Tools

CUDA GDB
NSight Systems
cuDNN
Job description

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:

Qualifications
  • 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 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 agency-partnerships@janestreet.com.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.