Abstract-Modern parallella arkitekturer har både heterogena processorer och djupa, komplexa minneshierarkier. Vi presenterar Legion, en programmeringsmodell och körtidssystem för att uppnå hög prestanda på dessa maskiner. Legion är organiserad kring logiska regioner, som uttrycker både lokalitet och oberoende av programdata, och uppgifter, funktioner som utför beräkningar på regioner. Vi beskriver ett runtime-system som dynamiskt extraherar parallellism från Legion-program med hjälp av en distribuerad, parallell schemaläggningsalgoritm som identifierar både självständiga uppgifter och nästad parallellism. Legion möjliggör också explicit, programmerare kontrollerad förflyttning av data genom minneshierarkin och placering av uppgifter baserade på lokal information via ett nytt kartgränssnitt. Vi utvärderar vår Legion implementering på tre applikationer: fluid-flow på ett vanligt rutnät, en tre-nivå AMR-kod lösa en värmespridning ekvation, och en krets simulering.
Legion REF är en programmeringsmodell och körtidssystem för heterogena arkitekturer.
Legion: expressing locality and independence with logical regions
{'venue': "SC '12", 'journal': None, 'mag_field_of_study': ['Computer Science']}