Problemdomäner bryts ofta ned hierarkiskt för att fullt ut utnyttja parallella resurser i moderna mikroprocessorer. Sådana nedbrytningar kan tillhandahållas som biblioteksrutiner, skrivna av erfarna experter, för allmänna algoritmiska mönster. Men sådana API:er tenderar att begränsas till vissa arkitekturer eller datastorlekar. Att integrera dem med tillämpningskoden är ofta en onödigt skrämmande uppgift, särskilt när dessa rutiner måste vara nära kopplade till användarkoden för att uppnå bättre prestanda. Detta dokument bidrar till HiDP, ett hierarkiskt dataparallellt språk på hög nivå. Syftet med HiDP är att förbättra kodningsproduktiviteten för att integrera hierarkisk dataparallalism utan betydande förlust av prestanda. HiDP är en källkodskompilator som omvandlar ett mycket koncist dataparallellspråk till CUDA C++ källkod. Internt utför den nödvändig analys för att komponera användarkod med effektiva och arkitekturmedvetna kodslippar. I detta dokument diskuteras olika aspekter av HiDP systematiskt: språket, kompilatorn och run-time-systemet med inbyggda inställningsmöjligheter. De gör det möjligt för HiDP-användare att uttrycka algoritmer i mindre kod än vad låg nivå SDK kräver för inhemska plattformar. HiDP avslöjar också rikliga datorresurser av moderna parallella arkitekturer. Förbättrad kodning produktivitet tenderar att komma med en uppoffring i prestanda. Ändå visar experimentella resultat att den genererade koden levererar prestanda mycket nära handgjorda inhemska GPU-kod.
HiDP REF är ett hierarkiskt dataparallellt språk som kartlägger beräkningar till OpenCL.
Hidp: A hierarchical data parallel language
{'venue': 'Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)', 'journal': 'Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)', 'mag_field_of_study': ['Computer Science']}