Numerical Linear Algebra, Machine Learning, High Performance Computing (HPC) and CUDA kernel optimization.
In my current project at NAG, I am responsible for developing new numerical linear algebra routines, and underlying kernel routines, for NAG software, with the aim of exploiting emerging computer architectures and GPUs. This project can be broadly divided in the following packages
- Design of new linear algebra building block libraries (BLAS and LAPACK)
- Design of new algorithms to exploit multiprecision computation
- Design of auto-tuning framework
I have contributed to the Horizon 2020 NLAFET project that aims at providing high-performance and fault tolerant numerical linear algebra software for future extreme scale machines. My activities in this project include:
- Task-based linear algebra algorithms for modern architectures.
- Standardization of batched linear algebra computation.
- Novel fault tolerant algorithms.
- Novel scheduling strategies for HPC systems.
PLASMA is a software package for solving problems in dense linear algebra using multicore processors and Xeon Phi coprocessors. PLASMA provides implementations of state-of-the-art algorithms using cutting-edge task scheduling techniques. PLASMA currently offers a collection of routines for solving linear systems of equations, least squares problems, eigenvalue problems, and singular value problems. I have been actively involved in the process of porting form QUARK to OpenMP. I have been mainly focused on the following routines:
- Level 3 BLAS kernels.
- Two-stage SVD decomposition kernels for singular value problems.
- Two-stage Eigenvalue decomposition kernels for eigenvalue problems.
The main objective of the RESCUE project is to develop new algorithmic techniques and software tools to solve the “exascale resilience problem”. Solving this problem implies a departure from current approaches, and calls for yet-to-be-discovered algorithms, protocols and software tools.
The objective of the G8 Enabling Climate Simulations at Extreme Scale project was to investigate how to run efficiently climate simulations on future Exascale systems and get correct results, and one of the main topic of this project was designing resilient Krylov solver for applications at exascale.