A parallel compiler exploits temporal recursion to reduce the cost of control code generated in transforming a sequential nested loop program into a set of parallel processes mapped to an array of processors. A parallel compiler process transforms a nested loop program into a set of single loops, where each single loop is assigned to execute on a processor element in a parallel processor array. The parallel compiler obtains a mapping of iterations of the nested loop to processor elements in the array and a schedule of start times for initiating execution of the iterations on corresponding processor elements in the array. Based on this mapping and iteration schedule, the parallel compiler generates code to compute iteration coordinates on a processor element for an iteration of the single loop from iteration coordinates computed on the same processor element for a previous iteration of the single loop. The parallel compiler uses this method to generate code to compute loop indices, memory addresses, and tests of loop bounds efficiently based on values from a previous iteration.

Un compilateur parallèle exploite la récursion temporelle pour ramener le coût du code de commande produit en transformant un programme niché séquentiel de boucle en ensemble de processus parallèles tracés à une rangée de processeurs. Un processus parallèle de compilateur transforme un programme niché de boucle en ensemble de boucles simples, où chaque boucle simple est assignée pour s'exécuter sur un élément de processeur dans une rangée parallèle de processeur. Le compilateur parallèle obtient tracer des itérations de la boucle nichée aux éléments de processeur dans le choix et un programme des heures de départ pour lancer l'exécution des itérations sur les éléments correspondants de processeur dans la rangée. Basé sur ce programme de tracer et d'itération, le compilateur parallèle produit du code pour calculer des coordonnées d'itération sur un élément de processeur pour une itération de la boucle simple des coordonnées d'itération calculées sur le même élément de processeur pour une itération précédente de la boucle simple. Le compilateur parallèle emploie cette méthode pour produire du code pour calculer des index de boucle, des adresses de mémoire, et des essais des limites de boucle efficacement basées sur des valeurs d'une itération précédente.

 
Web www.patentalert.com

< (none)

< Combined and stabilized turf for an athletic field

> Weakest precondition analysis

> (none)

~ 00033