Scheduling optimization of parallel linear algebra algorithms using Supervised Learning

09/09/2019
by   G. Laberge, et al.
0

Linear algebra algorithms are used widely in a variety of domains, e.g machine learning, numerical physics and video games graphics. For all these applications, loop-level parallelism is required to achieve high performance. However, finding the optimal way to schedule the workload between threads is a non-trivial problem because it depends on the structure of the algorithm being parallelized and the hardware the executable is run on. In the realm of Asynchronous Many Task runtime systems, a key aspect of the scheduling problem is predicting the proper chunk-size, where the chunk-size is defined as the number of iterations of a for-loop assigned to a thread as one task. In this paper, we study the applications of supervised learning models to predict the chunk-size which yields maximum performance on multiple parallel linear algebra operations using the HPX backend of Blaze's linear algebra library. More precisely, we generate our training and tests sets by measuring performance of the application with different chunk-sizes for multiple linear algebra operations; vector-addition, matrix-vector-multiplication, matrix-matrix addition and matrix-matrix-multiplication. We compare the use of logistic regression, neural networks and decision trees with a newly developed decision tree based model in order to predict the optimal value for chunk-size. Our results show that classical decision trees and our custom decision tree model are able to forecast a chunk-size which results in good performance for the linear algebra operations.

READ FULL TEXT
research
04/29/2019

Optimal Sparse Decision Trees

Decision tree algorithms have been among the most popular algorithms for...
research
07/28/2016

VHT: Vertical Hoeffding Tree

IoT Big Data requires new machine learning methods able to scale to larg...
research
05/08/2021

Learning stochastic decision trees

We give a quasipolynomial-time algorithm for learning stochastic decisio...
research
10/07/2021

Coresets for Decision Trees of Signals

A k-decision tree t (or k-tree) is a recursive partition of a matrix (2D...
research
02/28/2020

Communication-Optimal Tilings for Projective Nested Loops with Arbitrary Bounds

Reducing communication - either between levels of a memory hierarchy or ...
research
06/11/2021

COSTA: Communication-Optimal Shuffle and Transpose Algorithm with Process Relabeling

Communication-avoiding algorithms for Linear Algebra have become increas...
research
10/23/2018

numpywren: serverless linear algebra

Linear algebra operations are widely used in scientific computing and ma...

Please sign up or login with your details

Forgot password? Click here to reset