Post-Doctoral Research Visit F/M Dynamic Parallelization of Sparse Codes for High-Performance Computing and Machine Learning

Inria Lyon Lyon, France

About the position

Context

Within the framework of the
French prioritary research program for Exascale computing in France (PEPR NumPEx)
, we are hiring a postdoctoral fellow to address runtime code optimization for sparse computing.
This research targets both
High-Performance Computing and
Machine Learning.
This postdoctoral fellowship will be held at
Laboratoire de l'Informatique du Parallélisme at
Ecole Normale Supérieure de Lyon, France.

Assignment

Most kernels of interest in machine learning and high-performance computing manipulate sparse tensors
. Sparse codes are highly irregular and make use of array indirections and dynamic control which jeopardize static automatic parallelization algorithms.
The overall objective of this postdoctoral fellowship is to investigate compiler and runtime algorithms to delay the specialization of the dense code at runtime when the sparse structure is known
.
From a dense specification, we seek to compile a code able to specialize itself on the sparse input data
. The specialization will involve a set of sub-computations
, which are expected to be achievable by standard linear algebra routines (e.g.
gemm
), using state-of-the art linear algebra libraries
.
Several issues must be investigated:
How to specialize the code
? In particular, how propagate efficiently the sparsity along the computation flow?
How to detect library kernels on the specialized code?
How to enforce a proper scheduling for the parallel runtime
?
Points 1 and 2 have been partially addressed by a PhD student.
The postdoctoral fellow will:
Propose code optimizations and data structures for scaling sparse propagation (point 1)
Address runtime scheduling (point 3) by relying on existing parallel runtimes
Validate the complete approach
(points 1, 2 and 3) on scientific benchmarks by using sparse tensors from the Florida sparse matrix collection as well as machine learning applications.

Main activities

Main activities (5 maximum) :
Research
Software development
Experimentation
Report & article writing

Skills

Technical skills and level required :
Notions in compilers, parallelism, parallel architectures, parallel runtimes
Experience with C++
Languages : English, French
Excellent relational skills.

This listing was collected from a public source and is reproduced here for information only. Always confirm the details on the original posting before applying.
View the original posting

Similar positions