SYSTEMS, METHODS, AND COMPUTER PROGRAMS FOR PERFORMING RUNTIME AUTO-PARALLELIZATION OF APPLICATION CODE
Systems, methods, and computer programs are disclosed for performing runtime auto-parallelization of application code. One embodiment of such a method comprises receiving application code to be executed in a multi-processor system. The application code comprises an injected code cost computation exp...
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: | Systems, methods, and computer programs are disclosed for performing runtime auto-parallelization of application code. One embodiment of such a method comprises receiving application code to be executed in a multi-processor system. The application code comprises an injected code cost computation expression for at least one loop in the application code defining a serial workload for processing the loop. A runtime profitability check of the loop is performed based on the injected code cost computation expression to determine whether the serial workload can be profitably parallelized. If the serial workload can be profitably parallelized, the loop is executed in parallel using two or more processors in the multi-processor system.
L'invention concerne des systèmes, des procédés et des programmes d'ordinateur pour exécuter une parallélisation automatique d'exécution d'un code d'application. Un mode de réalisation d'un tel procédé comprend la réception d'un code d'application à exécuter dans un système multi-processeurs. Le code d'application comprend une expression de calcul de coût de code injectée pour au moins une boucle dans le code d'application définissant une charge de travail en série pour traiter la boucle. Une vérification de rentabilité d'exécution de la boucle est exécutée sur la base de l'expression de calcul de coût de code injectée pour déterminer si la charge de travail en série peut être parallélisée ou non de manière rentable. Si la charge de travail en série peut être parallélisée de manière rentable, la boucle est exécutée en parallèle à l'aide d'au moins deux processeurs dans le système multi-processeurs. |
---|