SYSTEMS AND METHODS FOR SPARSE MATRIX MULTIPLICATION

A method for sparse matrix multiplication comprises receiving a first block having M elements in a first dimension, and parsing the first block of M elements into a first set of B sub-blocks including M/B elements in the first dimension. A first sparsity mask having S% sparsity is applied to the fir...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: CHUNG, Eric S, ELANGO, Venmugil, DARVISH ROUHANI, Bita, BURGER, Douglas Christopher
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A method for sparse matrix multiplication comprises receiving a first block having M elements in a first dimension, and parsing the first block of M elements into a first set of B sub-blocks including M/B elements in the first dimension. A first sparsity mask having S% sparsity is applied to the first block of elements, such that each of the first set of B sub-blocks has S% sparsity. A second block is received having M elements in a second dimension, and is parsed into a second set of B sub-blocks that include M/B elements in the second dimension. A second sparsity mask having S'% sparsity is applied to the second block of elements, such that S'% of the second set of B sub-blocks have 100% sparsity and (100-S')% of the second set of B sub-blocks have 0% sparsity. The first and second blocks are then matrix multiplied. Un procédé de multiplication de matrice creuse comprend la réception d'un premier bloc contenant M éléments dans une première dimension, et la décomposition du premier bloc de M éléments en un premier ensemble de B sous-blocs contenant M/B éléments dans la première dimension. Un premier masque de creux présentant S % de creux est appliqué au premier bloc d'éléments, de sorte que chacun du premier ensemble de sous-blocs B présente S % de creux. Un second bloc contenant M éléments dans une seconde dimension est reçu, et est décomposé en un second ensemble de B sous-blocs qui comprennent M/B éléments dans la seconde dimension. Un second masque de creux présentant S' % de creux est appliqué au second bloc d'éléments, de sorte que S' % du second ensemble de B sous-blocs présente 100 % de creux et (100-S') % du second ensemble de B sous-blocs présente 0 % de creux. Les premier et second blocs sont ensuite multipliés par matrice.