Ett ökande antal programmeringsspråk, såsom Fortran 90 och APL, ger en rik uppsättning av inneboende matrisfunktioner och matrisuttryck. Dessa konstruktioner som utgör en viktig del av dataparallella språk ger utmärkta möjligheter för kompilatoroptimering. I detta dokument presenterar vi ett nytt tillvägagångssätt för att kombinera på varandra följande matrisoperationer eller matrisuttryck till en sammansatt åtkomstfunktion för källkodsmatriserna. Vårt system bygger på sammansättningen av åtkomstfunktioner, vilket är jämförbart med en sammansättning av matematiska funktioner. Vårt nya system kan hantera inte bara datarörelser av matriser med olika antal dimensioner och med multi-clause array operationer men också maskerade array uttryck och flera källor array operationer. Som ett resultat, vårt föreslagna system är den första syntesen system som kollektivt kan syntetisera Fortran 90 RESHAPE, EOSHIFT, MERGE, array reduktion verksamhet, och VAR konstruerar. Dessutom diskuterar vi också fallet att syntessystemet kan resultera i en prestanda anomali på grund av förekomsten av gemensamma underuttryck och en-till-många array operationer. En lösning föreslås för att undvika en sådan avvikelse. Experimentella resultat visar uppfarter från 1.21 till 2.95 över baskoden för kodfragment från verkliga applikationer på en sekventiell multiprocessormaskin, och visar också jämförbara prestandaförbättringar på en 8-node SGI Power Challenge genom att införliva våra föreslagna optimeringar.
Den studie som redovisas i REF visar hur man komponerar FOR-TRAN 90 operatörer såsom RESHAPE, EOSHIFT, MERGE, VAR konstruerar, och array reduktion verksamhet.
A Function-Composition Approach to Synthesize Fortran 90 Array Operations
{'venue': 'Journal of Parallel and Distributed Computing', 'journal': None, 'mag_field_of_study': ['Computer Science']}