Jacques Du Toit

Senior Technical Consultant - Numerical Algorithms Group

Overview of Experience

Jacques joined NAG in 2009 and has over 8 years experience in writing and supporting a wide range of numerical codes for CPU, GPU and Intel Xeon Phi. 

His main research and work areas are:

  • Parallelisation and multi/many core architectures
  • Arbitrage free interpolation
  • Algorithmic Differentiation
  • Computational finance in general
  • PDE solvers

Specific Technical Experience

Numerical code on GPUs

Jacques has delivered a number of numerical code projects for GPUs based around Monte Carlo applications. Key components included L’Ecuyer MRG32k3a, Mersenne Twister MT19937 and Sobol Generators, all with skip-aheads. The generators supported various distributions and were highly optimised for GPUs. The algorithms developed are suitable for many core processors in general and HPC systems.

Adjoint algorithmic differentiation on multi/many core platforms

Jacques has developed adjoint algorithmic differentiation solutions for heterogeneous platforms, in particular codes which span both CPUs and GPUs.

Training delivery

Jacques has developed training courses on writing numerical code in CUDA and OpenCL. He has delivered these courses for a range of different technical audiences in finance and other fields.

Mathematical Expertise

  • Probability Theory
  • Statistics
  • Actuarial Science
  • Financial Mathematics
  • PDEs
  • Algorithmic Differentiation

Computing Expertise

  • C/C++
  • CUDA
  • OpenCL
  • OpenMP
  • Fortran
  • Java
  • VBA


  • Ph.D, Optimal Stopping Theory and Stochastic Analysis, Manchester University
  • MSc, Financial Mathematics, Wits University, Johannesburg
  • BSc, Statistics and Actuarial Science, Wits University, Johannesburg

Papers & Talks

An extension of the change of variable formula with local time on surfaces. Du Toit, J. (2009). Research Report No. 14, Probab. Statist. Group Manchester (55 pp)

The trap of complacency in predicting the maximum. Du Toit, J. and Peskir, G. (2007). Ann. Probab. 35 (340–365)

Predicting the time of the ultimate maximum for Brownian motion with drift. Du Toit, J. and Peskir, G. (2008). Proc. Math. Control Theory Finance (Lisbon 2007), Springer (95–112). 

Selling a stock at the ultimate maximum. Du Toit, J. and Peskir, G. (2009). Ann. Appl. Probab. 19 (983–1014).

Predicting the last zero of Brownian motion with drift. Du Toit, J. Peskir, G. and Shiryaev, A. N. (2008). Stochastics 80 (229–245).

A high-performance Brownian bridge for GPUs: Lessons for bandwidth bound applications. Du Toit, (NAG Ltd).

Local Volatility FX Basket Option on CPU and GPU. Du Toit, (NAG Ltd) and Isabel Ehrlich, (Imperial College, London).

Note on Monte Carlo model sensitivities to distributions sampled by Rejection. Du Toit, (NAG Ltd).