Högpresterande datorer har nyligen sett ett ökat intresse för heterogena system, med tonvikt på moderna Graphics Processing Units (GPU). Dessa enheter erbjuder en enorm potential för prestanda och effektivitet i viktiga storskaliga tillämpningar av beräkningsvetenskap. Att utnyttja denna potential kan dock vara en utmaning, eftersom man måste anpassa sig till den specialiserade och snabbt föränderliga datormiljö som för närvarande visas av GPU. Ett sätt att ta itu med denna utmaning är att ta till sig bättre teknik och utveckla verktyg som är anpassade till deras behov. Denna artikel presenterar en enkel teknik, GPU run-time kodgenerering (RTCG), tillsammans med PyCUDA och PyOpenCL, två öppna källkod verktygskit som stöder denna teknik. Genom att introducera PyCUDA och PyOpenCL föreslår denna artikel en kombination av ett dynamiskt skriptspråk på hög nivå med den massiva prestandan hos en GPU som en övertygande tvåstegs datorplattform, potentiellt erbjuder betydande prestanda och produktivitetsfördelar jämfört med konventionella enstegiga, statiska system. RTCG-konceptet är enkelt och enkelt att implementera med hjälp av befintlig, robust infrastruktur. Ändå är det tillräckligt kraftfullt för att stödja (och uppmuntra) skapandet av anpassade tillämpningsspecifika verktyg av sina användare. Utgångspunkten för dokumentet illustreras av ett brett spektrum av exempel där tekniken har tillämpats med stor framgång.
PyCUDA och PyOpenCL REF-verktygen förenklar användningen av hårdvaruacceleratorer i högnivåskriptspråket Python för att utföra många fördefinierade beräkningar.
PyCUDA and PyOpenCL: A Scripting-Based Approach to GPU Run-Time Code Generation
{'venue': None, 'journal': None, 'mag_field_of_study': ['Computer Science']}