Traditionellt tillämpas programvarurörläggning antingen på den innersta öglan i ett visst loopbo eller från den innersta öglan till den yttre öglan. I detta dokument föreslås en trestegsstrategi, kallad enkeldimensionell programvara pipeline (SSP), för programvara rörledning en loop boet på en godtycklig loop nivå som har en rektangulär iteration utrymme och innehåller inga syskon inre slingor i det. Det första steget identifierar den mest lönsamma slinga nivån för programvara piplining i termer av initieringshastighet, data återanvändningspotential, eller någon annan optimeringskriterier. Det andra steget förenklar den multidimensionella databeroende grafen (DDG) för den valda loopnivån till en endimensionell DDG och konstruerar en förlängning av konferenspapper baserat på Single-Dimension Software Pipelining för MultiDimensional Loops, av H. Rong, Z. Tang, R. Govindarajan, A. Douillet, och G. R. Gao, som visas i CGO'04 Proceedures of the International Symposium on Code Generation and Optimization, IEEE Computer Society, Washington, D.C. Denna version utökar schemaläggningen till imperfekta loopbon, introducerar schemaläggning med flera initieringsintervall, ansluter metoden med hyperplane schemaläggning, implementerar den i en produktionskvalitet öppen källkod kompilator, och rapporterar ytterligare prestandanummer. Det finns ett betydande tillägg i avsnitt 5.1 och 5.2. Avsnitten 5.4, 6 och 7 är nya. Författarens adresser: Hongbo Rong, Microsoft, Redmond, Washington 98052; e-post: hongbor@ microsoft.com. Zhizhong Tang, Tsinghua University, Peking, Kina; e-post: tzz-dcs@tsinghua. Detta anslag är avsett att täcka utgifter för tjänstemän och tillfälligt anställda som arbetar inom politikområdet Migration och inrikes frågor samt administrativa utgifter för tjänstemän och tillfälligt anställda som arbetar inom politikområdet Migration och inrikes frågor. R. Govindarajan, Indian Institute of Science, Bangalore, Indien; e-post: govind@serc.iisc. för ernet.in. Alban Douillet, Hewlett-Packard Co., Palo Alto, Kalifornien 56225; e-post: alban.douillet@hp.com. Guang R. Gao, University of Delaware, Newark, Delaware 19716, e-post: ggao@capsl.udel.edu. Tillstånd att göra digitala eller hårda kopior av delar eller allt detta arbete för personligt bruk eller klassrum beviljas utan avgift under förutsättning att kopior inte görs eller distribueras för vinst eller direkt kommersiell fördel och att kopior visar detta meddelande på första sidan eller första skärmen av en skärm tillsammans med den fullständiga citering. Upphovsrätt till delar av detta verk som ägs av andra än ACM måste hedras. Abstraktering med kredit är tillåten. För att kopiera på annat sätt, för att återpublicera, för att posta på servrar, för att omfördela till listor, eller för att använda någon komponent i detta verk i andra verk krävs förhandsgodkännande och/eller avgift. Behörighet kan begäras från publikationsavdelningen, ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 (212) endimensionell (1D) schema. Baserat på det endimensionella schemat härleder det tredje steget en enkel kartfunktion som anger schematiden för operationsinstanserna i den flerdimensionella slingan. Den klassiska modulo schemaläggningen subsumeras av SSP som ett specialfall. SSP är också nära besläktat med hyperplane schemaläggning, och i själva verket utvidgar det till att vara resursbegränsad. Vi bevisar att SSP scheman är korrekta och minst lika effektiva som de scheman som genereras av traditionella modulo schemaläggningsmetoder. Vi utökar SSP till att schemalägga ofullkomliga loop bon, som är vanligast på instruktionsnivå. Flera initieringsintervall är naturligtvis tillåtna för att förbättra effektiviteten i utförandet. Genomförbarheten och korrektheten i vårt tillvägagångssätt verifieras genom en prototypimplementering i ORC-kompilatorn för IA-64-arkitekturen, testad med loop bon från Livermore och SPEC2000 flyttalpunktsriktmärken. Preliminära experimentella resultat visar att, jämfört med modulo schemaläggning, programvara piplining på en lämplig slinga nivå resulterar i betydande prestandaförbättringar. Programvara piplining är fördelaktigt även med tidigare loop transformationer.
Rong m.fl. I REF föreslås en metod för att bygga en programvarurörledning från ett godtyckligt djupslinga bo, medan det traditionella tillämpas på den innersta slingan eller från den innersta till yttre slingor.
Single-dimension software pipelining for multidimensional loops
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}