Abstract-Code underhåll, prestanda portabilitet och framtida proofing är några av de viktigaste utmaningarna i denna tid av snabba förändringar i High Performance Computing. Domänspecifika språk och aktiva bibliotek tar itu med dessa utmaningar genom att fokusera på en enda applikationsdomän och tillhandahålla en programmeringsstrategi på hög nivå, och därefter använda domänkunskap för att leverera hög prestanda på olika maskinvara. I detta dokument introducerar vi OPS:s abstraktion på hög nivå och aktiva bibliotek som syftar till flerblocksstrukturerade nätberäkningar, och diskuterar några av dess centrala designpunkter; vi visar hur OPS kan inbäddas i C/C++ och API:et görs för att se ut som ett traditionellt bibliotek, och hur vi genom en kombination av enkel textmanipulering och back-end-logik kan möjliggöra utförande på ett brett utbud av hårdvara med olika parallella programmeringsmetoder. Med utgångspunkt i beskrivningen av OPS:s abstraktion inför vi ett antal automatiserade utförandetekniker som möjliggör distribuerad parallellisering av minne, optimering av kommunikationsmönster, kontroll och cacheblockering. Med hjälp av prestandaresultat från CloverLeaf från Mantevo-sviten av riktmärken visar vi nyttan med OPS.
OPS REF-domänspecifika aktiva bibliotek (dvs.
The OPS domain specific abstraction for multi-block structured grid computations
{'venue': "WOLFHPC '14", 'journal': None, 'mag_field_of_study': ['Computer Science']}