On Automatic Data Structure Selection and Code Generation for Sparse Computations

On Automatic Data Structure Selection and Code Generation for Sparse Computations
复制标题

稀疏计算的自动数据结构选择和代码生成

DOI:
--
复制
发表时间:
1993
期刊:
International Workshop on Languages and Compilers for Parallel Computing
影响因子:
--
通讯作者:
H. Wijshoff
H. Wijshoff
中科院分区:
--
文献类型:
--
作者:
Aart J. C. Bik;H. Wijshoff

文献摘要

被引文献

相似文献

传统的重组编译器只能对程序进行转换,以利用目标架构的某些特性。对数据结构的调整仅限于线性化或数组转置等。然而,由于需要更复杂的数据结构来利用所操作数据的特性,目前的编译器支持似乎并不合适。在本文中,我们介绍了重组编译器的实现问题,该编译器可自动将操作密集矩阵的程序转换为稀疏代码,也就是说,在为每个密集矩阵(实际上是稀疏矩阵)选择了合适的数据结构后,原始代码就会调整为操作这些数据结构。这不仅简化了程序员的工作,一般来说,还能让编译器应用更多的优化功能。
Traditionally restructuring compilers were only able to apply program transformations in order to exploit certain characteristics of the target architecture. Adaptation of data structures was limited to e.g. linearization or transposing of arrays. However, as more complex data structures are required to exploit characteristics of the data operated on, current compiler support appears to be inappropriate. In this paper we present the implementation issues of a restructuring compiler that automatically converts programs operating on dense matrices into sparse code, i.e. after a suited data structure has been selected for every dense matrix that in fact is sparse, the original code is adapted to operate on these data structures. This simplifies the task of the programmer and, in general, enables the compiler to apply more optimizations.