DEADLOCK-FREE SCHEDULING OF A TASK GRAPH ON A MULTI-CORE PROCESSOR
A method for mapping an acyclic task graph specifying a neural network for execution by a multi-core processor, the acyclic task graph comprising a plurality of nodes interconnected by directed edges, each node representing a computational task to be performed in the process of executing the neural...
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 method for mapping an acyclic task graph specifying a neural network for execution by a multi-core processor, the acyclic task graph comprising a plurality of nodes interconnected by directed edges, each node representing a computational task to be performed in the process of executing the neural network, each edge directed from a source node to a destination node representing the dependency of the computational task represented by the destination node on event messages from a computational task represented by the source node, the multi-core processor comprising a plurality of processor cores configured to exchange messages in a message exchange network on chip (NoC) comprising NoC routers interconnected by NoC links, the method for mapping comprising: assigning (S52) a priority to each node of the task graph and assigning the prioritized node to a processor core of the multi-core processor, and assigning (S62) a priority to each edge and assigning the prioritized edge to an (acyclic) NoC path of NoC links; where the priority assigned to each node is the highest one of the priorities assigned to its incoming edges, and where the priority assigned to each edge exceeds the priority of the node from which it is outgoing.
Procédé de mappage d'un graphe de tâches acyclique spécifiant un réseau neuronal destiné à être exécuté par un processeur multicœur, le graphe de tâches acyclique comprenant une pluralité de nœuds interconnectés par des arêtes dirigées, chaque nœud représentant une tâche de calcul à effectuer dans le processus d'exécution du réseau neuronal, chaque arête dirigée depuis un nœud source à un nœud de destination représentant la dépendance de la tâche de calcul représentée par le nœud de destination à des messages d'événement d'une tâche de calcul représentée par le nœud source, le processeur multicœur comprenant une pluralité de cœurs de processeur configurés pour échanger des messages dans un réseau d'échange de messages sur puce (NoC) comprenant des routeurs NoC interconnectés par des liaisons NoC et le procédé de mappage consistant : à attribuer (S52) une priorité à chaque nœud du graphe de tâches et à attribuer le nœud classé par ordre de priorité à un cœur de processeur du processeur multicœur et à attribuer (S62) une priorité à chaque arête et à attribuer l'arête classée par ordre de priorité à un trajet NoC (acyclique) de liaisons NoC, la priorité attribuée à chaque nœud étant la priorité la plus élevée parmi les priorités attribuées à s |
---|