Abstract-Parallel maskiner blir mer komplexa med ökande kärnantal och mer heterogena arkitekturer. De vanliga parallella programmeringsmodellerna, C/C++ med MPI och/eller OpenMP, gör det dock svårt att skriva källkod som är lätt att ställa in för många mål. Nyare språkstrategier försöker underlätta denna börda genom att tillhandahålla optimeringsfunktioner som automatisk lastbalansering, överlappning av beräkning och kommunikation, meddelandedriven körning och implicita optimeringar av datalayout. I detta dokument jämför vi flera implementeringar av LULESH, en proxyapplikation för chockhydrodynamik, för att fastställa styrkor och svagheter hos olika programmeringsmodeller för parallell beräkning. Vi fokuserar på fyra traditionella (OpenMP, MPI, MPI+OpenMP, CUDA) och fyra framväxande (Chapel, Charm++, Liszt, Loci) programmeringsmodeller. I utvärderingen av dessa modeller fokuserar vi på programmerarens produktivitet, prestanda och lätthet att tillämpa optimeringar.
REF använder en proxyapplikation i sitt arbete för att utvärdera flera olika programmeringsmodeller (OpenMP, MPI, MPI+OpenMP, CUDA, Chapel, Charm++, Liszt, Loci).
Exploring Traditional and Emerging Parallel Programming Models Using a Proxy Application
{'venue': '2013 IEEE 27th International Symposium on Parallel and Distributed Processing', 'journal': '2013 IEEE 27th International Symposium on Parallel and Distributed Processing', 'mag_field_of_study': ['Computer Science']}