Abstract-Även den försiktiga GPU programmerare kan oavsiktligt införa data races medan skriva och optimera koden. För närvarande finns GPU race kontroll metoder misslyckas antingen i form av formella garantier, användarvänlighet, eller praktiskhet. Befintliga symboliska metoder: (1) stöder inte fullt ut befintliga CUDA-kärnor; (2) kan kräva användardefinierade påståenden eller invarianter; (3) kräver ofta användare att gissa vilka ingångar som säkert kan göras konkreta; (4) tenderar att explodera i komplexitet när antalet trådar ökar; och (5) exploderar i ansiktet på tråd-ID-baserade beslut, särskilt i en slinga. Vi presenterar SESA, ett nytt verktyg som kombinerar symbolisk avrättning och statisk analys för att analysera C++ CUDA-program som övervinner alla dessa begränsningar. SESA skalar också väl för att hantera icke-triviala riktmärken som Parboil och Lonestar, och är det enda verktyget i sin klass som hanterar sådana praktiska exempel. I detta dokument presenteras SESA:s metodologiska innovationer och praktiska resultat.
SESA REF tillhandahåller symbolisk raskontroll för CUDA-program.
Practical symbolic race checking of GPU programs
{'venue': 'SC14: International Conference for High Performance Computing, Networking, Storage and Analysis', 'journal': 'SC14: International Conference for High Performance Computing, Networking, Storage and Analysis', 'mag_field_of_study': ['Computer Science']}