MultiVerse-Kriging: A transfer- and multitask-learning based approach to autotuning

Wissam M. Sid-Lakhdar
Seminar

Autotuning, or the problem of finding the optimal parameters of a software that will maximize a certain performance criteria (computation time, memory usage, energy consumption, ...), can be considered as a black-box optimization problem.
No analytical formulation of the objective function nor any information on its derivative are available.
Given a set of values for the parameters, it is possible to evaluate the objective function only through a costly run of the software.

Several algorithms exist in the literature that target this problem, among which are the surrogate-based black-box optimization algorithms. Their main idea is to build a cheap to evaluate model of the objective function and try to optimize this model instead of the original function. One such approach is Kriging.

Our work is a generalization of Kriging to the case where not only one optimization problem has to be solved, but where several and similar problems are to be. It lies within the transfer- and multitask-learning frameworks, as we use the knowledge acquired while solving one problem to help solve the other problems simultaneously.

A related approach to ours exist in the literature known as co-Kriging. In this case however, the hypothesis is that the data corresponding to one (or several) cheap to evaluate objective functions exist that are highly correlated to the main (and unique) objective function of interest.
In our case however, all objective functions ought to be of the same cost and importance, none is supposed to be under / over sampled compared to the others, and all of them are to be optimized instead of only one.

The example of the autotuning of the QR factorization routine of ScaLAPack will be the leading example in our presentation.