Grafikbearbetningsenheter (GPU) används i allt större utsträckning för allmänna tillämpningar på grund av deras låga pris, energieffektivitet och enorma datorkraft. Med tanke på betydelsen av GPU-tillämpningar, är det viktigt att beteendet hos GPU-program kan specificeras och bevisas korrekt formellt. Detta dokument presenterar en logik för att verifiera GPU-kärnor skrivna i OpenCL, ett plattformsoberoende programmeringsspråk på låg nivå. Logiken kan användas för att bevisa både data-ras-frihet och funktionell korrekthet av kärnor. Verifieringen är modulär, baserad på idéer från behörighetsbaserad separationslogik. Vi presenterar logiken och dess sundhet bevis, och sedan diskutera verktygsstöd och illustrera dess användning på en komplex exempelkärna.
En ny metod för funktionell verifiering av GPU-kärnor genom REF använder behörighetsbaserad separationslogik.
Specification and verification of GPGPU programs
{'venue': 'Sci. Comput. Program.', 'journal': 'Sci. Comput. Program.', 'mag_field_of_study': ['Computer Science']}