SCHEDULING OFF-CHIP MEMORY ACCESS FOR PROGRAMS WITH PREDICTABLE EXECUTION
A machine learning network is implemented by executing a computer program of instructions on a machine learning accelerator (MLA) comprising a plurality of interconnected storage elements (SEs) and processing elements (PEs). The instructions are partitioned into blocks, which are retrieved from off-...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A machine learning network is implemented by executing a computer program of instructions on a machine learning accelerator (MLA) comprising a plurality of interconnected storage elements (SEs) and processing elements (PEs). The instructions are partitioned into blocks, which are retrieved from off-chip memory. The block includes a set of deterministic instructions (MLA instructions) to be executed by on-chip storage elements and/or processing elements according to a static schedule from a compiler. The MLA instructions may require data retrieved from off-chip memory by memory access instructions contained in prior blocks. The compiler also schedules the memory access instructions in a manner that avoids contention for access to the off-chip memory. By avoiding contention, the execution time of off-chip memory accesses becomes predictable enough and short enough that the memory access instructions may be scheduled so that they are known to complete before the retrieved data is required.
Réseau d'apprentissage machine mis en œuvre par l'exécution d'un programme informatique d'instructions sur un accélérateur d'apprentissage machine (AAM) comprenant une pluralité d'éléments de stockage (ES) interconnectés et d'éléments de traitement (ET). Les instructions sont partitionnées en blocs extraits de la mémoire hors puce. Le bloc comprend un ensemble d'instructions déterministes (instructions d'AAM) devant être exécutées par des éléments de stockage sur puce et/ou des éléments de traitement en fonction d'un programme statique provenant d'un compilateur. Les instructions d'AAM peuvent nécessiter des données extraites de la mémoire hors puce par des instructions d'accès à la mémoire contenues dans des blocs antérieurs. Le compilateur programme également les instructions d'accès à la mémoire d'une manière qui évite les conflits d'accès à la mémoire hors puce. En évitant les conflits, le temps d'exécution des accès à la mémoire hors puce devient suffisamment prévisible et suffisamment court pour que les instructions d'accès à la mémoire puissent être programmées de telle sorte qu'elles sont connues pour se terminer avant que les données récupérées ne soient nécessaires. |
---|