Sparse computation data dependence simplification for efficient compiler-generated inspectors

27Citations
Citations of this article
14Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper presents a combined compile-time and runtime loop-carried dependence analysis of sparse matrix codes and evaluates its performance in the context of wavefront paral-lellism. Sparse computations incorporate indirect memory accesses such as x[col[j]] whose memory locations cannot be determined until runtime. The key contributions of this paper are two compile-time techniques for significantly reducing the overhead of runtime dependence testing: (1) identifying new equality constraints that result in more efficient runtime inspectors, and (2) identifying subset relations between dependence constraints such that one dependence test subsumes another one that is therefore eliminated. New equality constraints discovery is enabled by taking advantage of domain-specific knowledge about index arrays, such as col[j]. These simplifications lead to automatically-generated inspectors that make it practical to parallelize such computations. We analyze our simplification methods for a collection of seven sparse computations. The evaluation shows our methods reduce the complexity of the runtime inspectors significantly. Experimental results for a collection of five large matrices show parallel speedups ranging from 2x to more than 8x running on a 8-core CPU.

Cite

CITATION STYLE

APA

Mohammadi, M. S., Davis, E. C., Nandy, P., Yuki, T., Hall, M., Olschanowsky, C., … Venkat, A. (2019). Sparse computation data dependence simplification for efficient compiler-generated inspectors. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (pp. 594–609). Association for Computing Machinery. https://doi.org/10.1145/3314221.3314646

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