Compiler-Driven Data Layout Transformation for Heterogeneous Platforms

Compiler-Driven Data Layout Transformation for Heterogeneous Platforms
复制标题

异构平台编译器驱动的数据布局转换

DOI:
--
复制
发表时间:
2013
期刊:
Euro-Par Workshops
影响因子:
--
通讯作者:
Vivek Sarkar
Vivek Sarkar
中科院分区:
--
文献类型:
--
作者:
Deepak Majeti;R. Barik;Jisheng Zhao;M. Grossman;Vivek Sarkar

文献摘要

被引文献

相似文献

现代的异类系统包括CPU核心、GPU核心,在某些情况下还包括加速器核心。这些计算核心中的每一个都有非常不同的内存层次结构,这使得有效地将应用程序的数据结构自动映射到这些内存层次结构变得具有挑战性。本文提出了一种编译器驱动的异构平台数据布局转换框架。我们将我们的数据布局框架与Habanero-C的数据并行构造forasync集成在一起,并允许为不同的体系结构使用不同的数据布局编译相同的源代码。程序员或自动调谐器指定数据布局的模式。我们的编译器基础设施基于模式中提供的元信息为不同的体系结构生成高效的代码。我们的实验结果表明,编译器驱动的数据布局转换具有显著的好处,并且对于不同的异构平台,程序的最佳数据布局是不同的。
Modern heterogeneous systems comprise of CPU cores, GPU cores, and in some cases, accelerator cores. Each of these computational cores have very different memory hierarchies, making it challenging to efficiently map the data structures of an application to these memory hierarchies automatically. In this paper, we present a compiler-driven data layout transformation framework for heterogeneous platforms. We integrate our data layout framework with the data parallel construct, forasync, of Habanero-C and enable the same source code to be compiled with different data layouts for various architectures. The programmer or an auto-tuner specifies a schema of the data layout. Our compiler infrastructure generates efficient code for different architectures based on the meta information provided in the schema. Our experimental results show significant benefits from the compiler-driven data layout transformation, and demonstrate that the best data layout for a program varies with different heterogenous platforms.