GPU arkitekturer blir allt viktigare i multi-core eran på grund av deras höga antal parallella processorer. Programmering tusentals massiva parallella trådar är en stor utmaning för programvaruingenjörer, men att förstå prestanda flaskhalsar av dessa parallella program på GPU arkitekturer för att förbättra programprestanda är ännu svårare. De nuvarande metoderna bygger på att programmerare justerar sina tillämpningar genom att utnyttja designutrymmet på ett uttömmande sätt utan att helt förstå prestandaegenskaperna hos deras tillämpningar. För att ge insikter i prestandaflaskhalsarna hos parallella applikationer på GPU-arkitekturer föreslår vi en enkel analytisk modell som uppskattar tiden för exekvering av massiva parallella program. Den viktigaste komponenten i vår modell är att uppskatta antalet parallella minnesförfrågningar (vi kallar detta för minnesvarpparallalism) genom att beakta antalet löpande trådar och minnesbandbredd. Baserat på graden av minnesvarpparallalism beräknar modellen kostnaden för minnesförfrågningar och beräknar därmed den totala genomförandetiden för ett program. Jämförelser mellan resultatet av modellen och den faktiska genomförandetiden i flera GPU:er visar att det geometriska medelvärdet av absolut fel i vår modell på mikro-benchmarks är 5,4% och på GPU computing applikationer är 13,3%. Alla ansökningar är skrivna på CUDA programmeringsspråk.
Hong och Kim Ref föreslog en enkel analytisk GPU-modell för att uppskatta exekveringstiden för massiva parallella program.
An analytical model for a GPU architecture with memory-level and thread-level parallelism awareness
{'venue': "ISCA '09", 'journal': None, 'mag_field_of_study': ['Computer Science']}