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.


翻译:在没有源代码的情况下,解压缩器是软件分析和支持的有用工具。 它们可用于许多硬件架构和编程语言。 但是,现有的解压缩器都没有支持现代AMD GCN 和 RDNA 。 目的 : 我们的目标是为现代 AMD GCN 和 RDNA 的解压缩器架构开发第一个解压缩器工具, 用于生成以 OpenCL 语言生成代码的 AMD GPU 的现代 AMD GPU 架构, 该架构被广泛用于编程 GPGPPPU 。 结果 : 我们为以下操作开发了算法: 预处理组码、 搜索数据存取、 提取系统值、 解压缩算术操作和 恢复数据类型。 我们还开发了分解分支操作的模板 。 实际相关性 : 我们实施了 Python 中提供的算法, 作为名为 OponCLDDecompil 的工具, 支持大量解构件 GPGCN 指令。 这个工具自动将 GPGPU 代码转换成等码,, 从而减少了分析组装码所需的努力 。

0
下载
关闭预览

相关内容

OpenCL(Open Computing Language,开放计算语言)是一个为异构平台编写程序的框架,此异构平台可由 CPU,GPU 或其他类型的处理器组成。
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
【陈天奇】TVM:端到端自动深度学习编译器,244页ppt
专知会员服务
85+阅读 · 2020年5月11日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
30+阅读 · 2019年10月17日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
谷歌足球游戏环境使用介绍
CreateAMind
31+阅读 · 2019年6月27日
BERT/Transformer/迁移学习NLP资源大列表
专知
19+阅读 · 2019年6月9日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
前端高性能计算(4):GPU加速计算
前端大全
7+阅读 · 2017年10月26日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
Self-Attention Graph Pooling
Arxiv
5+阅读 · 2019年4月17日
Arxiv
3+阅读 · 2019年4月7日
Arxiv
15+阅读 · 2019年4月4日
VIP会员
相关资讯
谷歌足球游戏环境使用介绍
CreateAMind
31+阅读 · 2019年6月27日
BERT/Transformer/迁移学习NLP资源大列表
专知
19+阅读 · 2019年6月9日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
前端高性能计算(4):GPU加速计算
前端大全
7+阅读 · 2017年10月26日
【推荐】免费书(草稿):数据科学的数学基础
机器学习研究会
20+阅读 · 2017年10月1日
Top
微信扫码咨询专知VIP会员