Parallelliserande kompilatorer hanterar inte loopar på ett tillfredsställande sätt. Finkornsomvandlingar fångar oregelbunden parallellism inuti en loopkropp som inte är mottaglig för grövre metoder utan har begränsad förmåga att utnyttja parallellism över iterationer. Grova metoder sakrice oregelbundna former av parallellism till förmån för pipeline (överlappande) iterationer. I detta dokument presenterar vi en ny transformation, Perfect Pipelining, som överbryggar klyftan mellan dessa ne- och grovkornsomvandlingar samtidigt som man behåller de önskvärda egenskaperna hos båda. Detta sker även i närvaro av villkorliga grenar och resursbegränsningar. För att göra våra anspråk rigorösa utvecklar vi en formalism för parallellisering. Formalismen kan också användas för att jämföra transformationer mellan olika beräkningsmodeller. Som en illustration visar vi att Doacross, en transformation avsedd för synkrona och asynkrona multiprocessorer, kan uttryckas som en begränsning av Perfect Pipelining.
Aiken och Nicolau REF presenterade perfekt piplining, ett system för rullning och komprimering av slingor för parallellisering, och visade att DOACROSS är en begränsning av deras system.
Perfect Pipelining: A New Loop Parallelization Technique
{'venue': 'ESOP', 'journal': None, 'mag_field_of_study': ['Computer Science']}