Craig Lucas

Senior Technical Consultant - Numerical Algorithms Group

Overview of Experience

Craig has over 15 years of experience supporting large High Performance Computing codes as well as writing a range of numerical codes for a diverse range of computing platforms.

He has worked on projects for NAG clients in many science areas, in finance, and in other commercial sectors.

His research and work areas include:

  • High performance software system support and development
  • OpenMP and MPI
  • Linear Algebra
  • Nearest Correlation Matrix Problems

Specific Technical Experience

Craig is skilled in the design and development of serial and parallel algorithms and software, for clients; including contribution to a range of commercial and open source libraries and applications.

Projects for the parallelization of serial codes
Craig has supported the users of large HPC systems, including a number of national supercomputing services, by helping to improve the way their code works for a particular target platform. Craig works on many projects involving the adapting of serial code to make better use of multi core, many core and large HPC clusters. He also advises and coaches clients on appropriate approaches for writing parallel numerical code. His projects include a focus on shared memory programming and how parallelized code can be made more accessible to novice users, while still maintaining interoperability with the expert user’s own specialist parallel code.

Design and development of methods for computing nearest covariance and correlation matrices
Craig has developed and written a number of codes for solving correlation matrix problems. These are used by global financial organisations.

Training delivery
Craig has developed and presented training courses on code optimization, Parallel IO, OpenMP, MPI and modern Fortran.

Collaboration
Craig looks after NAG’s links with academic groups on various projects including Numerical Linear Algebra and new parallel algorithms. He has been long associated with the Numerical Linear Algebra Group (https://nla-group.org/people/) at the University of Manchester. He regularly gives guest lectures and also acts as an MSc and PhD Supervisor. He has also attended the OpenMP Language Committee, for three years, where he helps to provide users’ perspectives for the design of new features in the language.

Mathematical Expertise

  • Numerical Linear Algebra
  • Nearest Correlation Matrix Problems
  • Parallel Algorithms

Computing Expertise

  • Fortran
  • OpenMP
  • MPI
  • MATLAB®

Education

  • PhD, Mathematics (Numerical Analysis), University of Manchester. This involved designing algorithms and software to solve problems in numerical linear algebra
  • MSc, Numerical Analysis and Computing, University of Manchester
  • BSc, Mathematical Science with Computer Science, City University

Papers & Talks

LAPACK-style codes for pivoted Cholesky and QR updating 
S Hammarling, N Higham, C Lucas (2007)
Applied Parallel Computing. State of the Art in Scientific Computing, 137-146

Computing nearest covariance and correlation matrices, MSc Thesis
C Lucas (2001)
University of Manchester