We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:

Download:

Current browse context:

cs.PL

Change to browse by:

References & Citations

DBLP - CS Bibliography

Bookmark

(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo

Computer Science > Programming Languages

Title: A method for decompilation of AMD GCN kernels to OpenCL

Abstract: Introduction: Decompilers are useful tools for software analysis and support in the absence of source code. They are available for many hardware architectures and programming languages. However, none of the existing decompilers support modern AMD GPU architectures such as AMD GCN and RDNA. Purpose: We aim at developing the first assembly decompiler tool for a modern AMD GPU architecture that generates code in the OpenCL language, which is widely used for programming GPGPUs. Results: We developed the algorithms for the following operations: preprocessing assembly code, searching data accesses, extracting system values, decompiling arithmetic operations and recovering data types. We also developed templates for decompilation of branching operations. Practical relevance: We implemented the presented algorithms in Python as a tool called OpenCLDecompiler, which supports a large subset of AMD GCN instructions. This tool automatically converts disassembled GPGPU code into the equivalent OpenCL code, which reduces the effort required to analyze assembly code.
Comments: 10 pages, 5 figures
Subjects: Programming Languages (cs.PL); Distributed, Parallel, and Cluster Computing (cs.DC)
MSC classes: 68N20
ACM classes: D.3.m
Journal reference: Information and Control Systems, 2021, no. 2, pp. 33-42
DOI: 10.31799/1684-8853-2021-2-33-42
Cite as: arXiv:2107.07809 [cs.PL]
  (or arXiv:2107.07809v1 [cs.PL] for this version)

Submission history

From: Michael Lukin [view email]
[v1] Fri, 16 Jul 2021 10:32:54 GMT (786kb)

Link back to: arXiv, form interface, contact.