A compile/run-time environment for the automatic transformation of linked list data structures

8Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Irregular access patterns are a major problem for today's optimizing compilers. In this paper, a novel approach will be presented that enables transformations that were designed for regular loop structures to be applied to linked list data structures. This is achieved by linearizing access to a linked list, after which further data restructuring can be performed. Two subsequent optimization paths will be considered: annihilation and sublimation, which are driven by the occurring regular and irregular access patterns in the applications. These intermediate codes are amenable to traditional compiler optimizations targeting regular loops. In the case of sublimation, a run-time step is involved which takes the access pattern into account and thus generates a data instance specific optimized code. Both approaches are applied to a sparse matrix multiplication algorithm and an iterative solver: preconditioned conjugate gradient. The resulting transformed code is evaluated using the major compilers for the x86 platform, GCC and the Intel C compiler.

Cite

CITATION STYLE

APA

Van Der Spek, H. L. A., Groot, S., Bakker, E. M., & Wijshoff, H. A. G. (2008). A compile/run-time environment for the automatic transformation of linked list data structures. International Journal of Parallel Programming, 36(6), 592–623. https://doi.org/10.1007/s10766-008-0085-2

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free