Using Static Allocation Algorithms for Matrix Matrix Multiplication on Multicores and GPUs

Lionel Eyraud-Dubois 1, 2 Thomas Lambert 1, 3
1 Realopt - Reformulations based algorithms for Combinatorial Optimization
LaBRI - Laboratoire Bordelais de Recherche en Informatique, IMB - Institut de Mathématiques de Bordeaux, Inria Bordeaux - Sud-Ouest
Abstract : We consider how to allocate data when performing matrix multiplication on a heterogeneous node, with multicores and GPUs. Classical (cyclic) allocations designed for homogeneous settings are not appropriate, but the advent of task-based runtime systems makes it possible to use more general allocations. Previous theoretical work has proposed square and cube partitioning algorithms aimed at minimizing data movement for matrix multiplication. We propose techniques to adapt these continuous square partitionings to allocating discrete tiles of a matrix, and strategies to adapt the static allocation at run-time. We use these techniques in an implementation of Matrix Multiplication based on the StarPU runtime system, and we show through extensive experiments that this implementation allows to consistently obtain a lower communication volume while improving slightly the execution time, compared to standard state-of-the-art dynamic strategies.
Type de document :
Pré-publication, Document de travail
2017
Liste complète des métadonnées

Littérature citée [19 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01670678
Contributeur : Lionel Eyraud-Dubois <>
Soumis le : vendredi 22 décembre 2017 - 13:03:16
Dernière modification le : jeudi 11 janvier 2018 - 06:22:12

Fichier

ipdps.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01670678, version 1

Collections

Citation

Lionel Eyraud-Dubois, Thomas Lambert. Using Static Allocation Algorithms for Matrix Matrix Multiplication on Multicores and GPUs. 2017. 〈hal-01670678〉

Partager

Métriques

Consultations de la notice

42

Téléchargements de fichiers

17