Nick Dingle

Technical Consultant - Numerical Algorithms Group

Overview of Experience

Nick has over 15 years of experience developing parallel scientific codes in C, C++ and Fortran with MPI, OpenMP and CUDA, and in analysing large data sets with R and MATLAB®. In his current role of Technical Consultant at NAG, Nick works within the POP team but has also worked in the NAG Library development and HPC teams.

His main research and work areas are:

  • Parallel computing
  • Optimizing code performance
  • Numerical linear algebra

Specific Technical Experience

Optimizing parallel code performance
Nick is particularly interested in analysing the performance of parallel codes and identifying and implementing opportunities for improvement. He works with others at NAG and our collaborators to devise and develop new algorithmic approaches that are most appropriate for current multi-core and many-core processors.  

Design and implementation of numerical routines
Nick has developed numerical routines for the NAG Library project and has also integrated external libraries into existing NAG products.

Training delivery
Nick has presented training courses on writing numerical code to a range of different technical audiences.

Mathematical Expertise

  • Numerical linear algebra
  • Numerical analysis
  • Markov chains
  • Data science

Computing Expertise

  • C/C++
  • Fortran 
  • MPI
  • OpenMP
  • R
  • Python
  • CUDA


  • PhD, Parallel Computation of Response Time Densities and Distributions in Large-Scale Markov and Semi-Markov Models, Imperial College London
  • MSc, Computer Science, Imperial College London
  • BA(Hons), War Studies, King's College London

Papers & Talks

J. Hook and N.J. Dingle, "Performance analysis of asynchronous parallel Jacobi". Numerical Algorithms, pp. 1-36. 2017

D. Topping, M. Barley, M. Bane, N.J. Higham, B. Aumont, N.J. Dingle and G. McFiggans, "UManSysProp v1. 0: an online and open-source facility for molecular property prediction and atmospheric aerosol calculations". Geoscientific Model Development 9(2), pp. 899-914. 2016.

R. Andrew and N.J. Dingle, "Implementing QR factorization updating algorithms on GPUs". Parallel Computing 40(7), pp. 161-172. 2014.

I. Bethune, J.M. Bull, N.J. Dingle and N.J. Higham, "Performance analysis of asynchronous Jacobi’s method implemented in MPI, SHMEM and OpenMP". The International Journal of High Performance Computing Applications 28(1), pp. 97-111. 2014

N.J. Dingle, N.J. Higham, "Reducing the influence of tiny normwise relative errors on performance profiles". ACM Transactions on Mathematical Software 39(4). 2013

N.J. Dingle, W.J. Knottenbelt and D. Spanias, "On the (page) ranking of professional tennis players" in Computer Performance Engineering, pp. 237-247. 2013

N. Huber, F. Brosig, N.J. Dingle, K. Joshi and S. Kounev, "Providing Dependability and Performance in the Cloud: Case Studies" in Resilience Assessment and Evaluation of Computing Systems, pp. 391-412. 2012

A.S. Lebrecht, N.J. Dingle and W.J. Knottenbelt, "Analytical and simulation modelling of zoned RAID systems". The Computer Journal 54(5), pp. 691-707. 2011

M.C. Guenther, N.J. Dingle, J.T. Bradley and W.J. Knottenbelt, "Passage-time computation and aggregation strategies for large semi-Markov processes". Performance Evaluation 68(3), pp. 221-236. 2011

A.M. Mason, N.J. Dingle, W.J. Knottenbelt, D. Bell, W. Buchanan and C. Thuemmler, "Modelling infection spread using location tracking". International Journal of Healthcare Technology and Management 11(6), pp. 442-461. 2010

N.J. Dingle, "British Warships 1860-1906: A Photographic History". 2009

N.J. Dingle, W.J. Knottenbelt and T. Suto, "PIPE2: a tool for the performance evaluation of Generalised Stochastic Petri Nets". ACM SIGMETRICS Performance Evaluation Review 36(4), pp. 34-39. 2009

J.T. Bradley, N.J. Dingle, P.G. Harrison and W.J. Knottenbelt, "Distributed computation of transient state distributions and passage time quantiles in large semi-Markov models". Future Generation Computer Systems 22(7), pp. 828-837. 2006

J.T. Bradley, N.J. Dingle, U. Harder, P.G. Harrison and W.J. Knottenbelt, "Response Time Densities and Quantiles in Large Markov and Semi-Markov Models" in Performance Evaluation of Parallel, Distributed and Emergent Systems, pp. 3-41. 2006.

N.J. Dingle, P.G. Harrison and W.J. Knottenbelt, "Uniformization and hypergraph partitioning for the distributed computation of response time densities in very large Markov models". Journal of Parallel and Distributed Computing 64(8), pp. 908-920. 2004

J.T. Bradley, N.J. Dingle, W.J. Knottenbelt and H.J. Wilson, "Hypergraph-based parallel computation of passage time densities in large semi-Markov models". Linear Algebra and Its Applications 386, pp. 311-334. 2004

S.W.M. Au-Yeung, N.J. Dingle and W.J. Knottenbelt, "Efficient approximation of response time densities and quantiles in stochastic models". ACM SIGSOFT Software Engineering Notes 29(1), pp. 151-155. 2004

J.T. Bradley, N.J. Dingle and W.J. Knottenbelt. "Exact aggregation strategies for semi-Markov performance models". Simulation Series 35(4), pp. 755-762. 2003