ML Performance Engineer

THE FIRM

XTX Markets is an algorithmic trading firm that actively trades tens of thousands of instruments on over eighty venues with a daily volume of almost three hundred billion USD. We partner with counterparties, exchanges, and e-trading venues globally to provide consistent liquidity in the Equity, FX, Fixed Income, Commodity & Options markets, helping market participants throughout the world obtain the best prices in the various assets classes we cover.

We leverage the talent of the people who work here, modern computational techniques and state-of-the-art research infrastructure to analyse large data sets across markets quickly and efficiently, to maximise the effectiveness of our proprietary trading algorithms. The models that drive our trading strategies have evolved considerably over the last 10 years, from econometric methods that gave our company its name, to trees, to neural networks, to modern deep learning architectures. We are actively seeking new methods and ideas.

At XTX Markets technology is our business and we are a diverse organisation which attracts outstanding talent from across all industry backgrounds. We are focused on teamwork and our people collaborate on all aspects of the business, working openly and with respect for each other, our clients and the market. Our culture is non-hierarchical and one where everyone is valued. We strive for excellence in everything we do.

THE ROLE

XTX is seeking an experienced engineer to support our Research Technology function. You will be working in a small and highly technical team at an extremely low-level to dramatically increase the performance of XTX’s machine learning training and inference. Your main focus will be on accelerating computation and networking; however, the remit is wide, and you should expect to be challenged.

We are not just writing CUDA code. You will be expected to push hardware beyond what the manufacturer thinks is achievable. Manufacturers will tell you things are impossible or just plain absurd and you will achieve it anyway.

Amongst other things, you will be working on a sophisticated optimising compiler to create optimal execution plans mapping complex computational graphs to a variety of accelerated computing platforms taking both high-level (for example the consequences of a complex memory hierarchies) and low-level (for example microarchitectural restrictions on dispatch rates for different operation shapes) into account. This means both applying optimisations to our SSA intermediate representation as well as improving backend code generation. You will also be expected to hand-optimise real-world use cases to identify ways in which the compiler’s code generation may be improved.

ESSENTIAL ATTRIBUTES

At an absolute minimum you will have the following skills:

  • Comfort writing Linux kernel modules or other experience in OS development.
  • An understanding of, and some experience targeting, commodity GPUs or other similar hardware.
  • Experience programming in C++.
  • Some experience working with SSA-based IRs.

DESIRABLE ATTRIBUTES

In addition, the following skills would be substantially advantageous:

  • A background in reversing or cracking of hardware and/or software.
  • Familiarity with Nvidia’s undocumented SASS machine code.
  • A detailed understanding of PCI Express.
  • Experience writing drivers to interface to hardware (e.g., network cards or NVMe devices).
  • Practical (non-academic) experience with FPGA design.

BENEFITS

  • Onsite gym, sauna, and fitness classes at no charge.
  • Extensive medical benefits including an on-site doctor and therapist at no charge.
  • Breakfast and lunch provided daily.
  • Various supports for caregivers, including emergency dependent care.
  • Beautiful Kings Cross office: https://vimeo.com/257888726
  • 25 days paid holiday per year + statutory holiday and paid sick days.
  • Generous Pension contributions.

APPLY HERE