Applikationer på moderna superdatorer begränsas alltmer av kostnaden för datarörelser, men vanliga programmeringssystem har få abstraktioner för att beskriva strukturen på ett programs data. Följaktligen faller bördan av att hantera datarörelser, placering och layout för närvarande främst på programmeraren. För att ta itu med detta problem har vi tidigare föreslagit en datamodell baserad på logiska regioner och beskrivit Legion, ett programplaneringssystem som omfattar logiska regioner. I detta dokument presenterar vi strukturskärning, som införlivar fält i den logiska regiondatamodellen. Vi visar att strukturskärning gör det möjligt för Legion att automatiskt dra slutsatser om aktivitet parallellism från fält-non-interference, koppla bort specifikationen av dataanvändning från layout, och minska den totala mängden data som flyttas. Vi visar att strukturskärning möjliggör både stark och svag skalning av tre Legion applikationer inklusive S3D, en produktionsförbränningssimulering som använder logiska regioner med tusentals fält, med hastigheter på upp till 3,68X över en vektoriserad CPU-endast Fortran implementation och 1.88X över en självständigt handjusterad OpenACC-kod.
Strukturskärning REF bryter specifikationen för dataanvändning, identifierar dataparallalism och minskar datarörelser.
Structure slicing: extending logical regions with fields
{'venue': 'SC14: International Conference for High Performance Computing, Networking, Storage and Analysis', 'journal': 'SC14: International Conference for High Performance Computing, Networking, Storage and Analysis', 'mag_field_of_study': ['Computer Science']}