Compiler-based prefetching for recursive data structures
Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
WBTK: a New Set of Microbenchmarks to Explore Memory System Performance for Scientific Computing
International Journal of High Performance Computing Applications
A compile/run-time environment for the automatic transformation of linked list data structures
International Journal of Parallel Programming
How to unleash array optimizations on code using recursive data structures
Proceedings of the 24th ACM International Conference on Supercomputing
Sublimation: expanding data structures to enable data instance specific optimizations
LCPC'10 Proceedings of the 23rd international conference on Languages and compilers for parallel computing
Automatic restructuring of linked data structures
LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing
Hi-index | 0.00 |
Irregularity is one of the fundamental causes for performance degradation in applications. Both hardware and software have a hard time coping with irregular memory access patterns and irregularity in flow control. On the hardware side, execution is optimized for regular data accesses and irregular memory access streams cannot be predicted. On the software side, compilers are are not able to reason about memory locations and loop bounds. This prevents many optimizations to be applied. In this paper, we measure and characterize the impact of various facets of irregularity using SPARK00, a set of benchmarks that explicitly targets the measurement of the impact of irregularity, on one of themost commonly used architectures today, the Intel Core 2. The benchmarks consist of kernels that are based on pointers, a notorious cause of irregularity, kernels that use indirection arrays, and kernels that implement regular counterparts of some of the irregular kernels. By employing different data sets and different memory layouts these benchmarks are used to characterize architectural features.