DYNAMIC ALLOCATION OF EXECUTABLE CODE FOR MULTI-ARCHITECTURE HETEROGENEOUS COMPUTING
An apparatus for executing a software program, comprising processing units and a hardware processor adapted for: in an intermediate representation of the software program, where the intermediate representation comprises blocks, each associated with an execution block of the software program and comp...
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: | An apparatus for executing a software program, comprising processing units and a hardware processor adapted for: in an intermediate representation of the software program, where the intermediate representation comprises blocks, each associated with an execution block of the software program and comprising intermediate instructions, identifying a calling block and a target block, where the calling block comprises a control-flow intermediate instruction to execute a target intermediate instruction of the target block; generating target instructions using the target block; generating calling instructions using the calling block and a computer control instruction for invoking the target instructions, when the calling instructions are executed by a calling processing unit and the target instructions are executed by a target processing unit; configuring the calling processing unit for executing the calling instructions; and configuring the target processing unit for executing the target instructions.
L'invention concerne un appareil permettant d'exécuter un programme logiciel, comprenant des unités de traitement et un processeur matériel conçus pour : dans une représentation intermédiaire du programme logiciel, la représentation intermédiaire comprenant des blocs, associés chacun à un bloc d'exécution du programme logiciel et comprenant des instructions intermédiaires, identifier un bloc d'appel et un bloc cible, le bloc d'appel comprenant une instruction intermédiaire de flux de commande pour exécuter une instruction intermédiaire cible du bloc cible ; générer des instructions cibles à l'aide du bloc cible ; générer des instructions d'appel à l'aide du bloc d'appel et une instruction de commande d'ordinateur pour invoquer les instructions cibles, lorsque les instructions d'appel sont exécutées par une unité de traitement d'appel et les instructions cibles sont exécutées par une unité de traitement cible ; configurer l'unité de traitement d'appel pour exécuter les instructions d'appel ; et configurer l'unité de traitement cible pour exécuter les instructions cibles. |
---|