Vi anser att beräkningen av kortaste vägar på Grafiska bearbetningsenheter (GPU). Den blockerade rekursiva elimineringsstrategi vi använder är tillämplig på en klass av algoritmer (såsom alla-par kortaste-vägar, transitiv stängning, och LU nedbrytning utan pivoting) med liknande data åtkomst mönster. Med hjälp av alla-par kortaste-vägar problem som exempel, avslöjar vi potentiella vinster över denna klass av algoritmer. Den imponerande beräkningskraften och minnesbandbredden hos GPU gör det till en attraktiv plattform för att köra sådana beräkningsintensiva algoritmer. Även om förbättringar över CPU-implementationer tidigare har uppnåtts för dessa algoritmer i form av rå hastighet, var utnyttjandet av de underliggande beräkningsresurserna ganska låg. Vi implementerade en rekursivt partionerade alla-par kortaste-vägar algoritm som utnyttjar kraften i GPUs bättre än befintliga implementationer. Det alternativa schemat för vägberäkningar gjorde det möjligt för oss att kasta nästan alla operationer i matris-matris multiplikationer på en semiring. Eftersom matris-matris multiplikation är högt optimerad och har ett högt förhållande av beräkning till kommunikation, vårt genomförande lider inte av för tidig mättnad av bandbredd resurser som iterativa algoritmer gör. Genom att öka temporal lokalitet, vår implementering kör mer än två storleksordningar snabbare på en NVIDIA 8800 GPU än på en Opteron. Vårt arbete ger bevis för att programmerare bör tänka om algoritmer i stället för att direkt överföra dem till GPU.
I REF beräknade författare kortaste vägar på grafiska bearbetningsenheter.
Solving Path Problems on the GPU
{'venue': 'Parallel Comput.', 'journal': 'Parallel Comput.', 'mag_field_of_study': ['Computer Science']}