44 research outputs found

    Analyzing and enhancing OSKI for sparse matrix-vector multiplication

    Get PDF
    Sparse matrix-vector multiplication (SpMxV) is a kernel operation widely used in iterative linear solvers. The same sparse matrix is multiplied by a dense vector repeatedly in these solvers. Matrices with irregular sparsity patterns make it difficult to utilize cache locality effectively in SpMxV computations. In this work, we investigate single- and multiple-SpMxV frameworks for exploiting cache locality in SpMxV computations. For the single-SpMxV framework, we propose two cache-size-aware top-down row/column-reordering methods based on 1D and 2D sparse matrix partitioning by utilizing the column-net and enhancing the row-column-net hypergraph models of sparse matrices. The multiple-SpMxV framework depends on splitting a given matrix into a sum of multiple nonzero-disjoint matrices so that the SpMxV operation is performed as a sequence of multiple input- and output-dependent SpMxV operations. For an effective matrix splitting required in this framework, we propose a cache-size-aware top-down approach based on 2D sparse matrix partitioning by utilizing the row-column-net hypergraph model. The primary objective in all of the three methods is to maximize the exploitation of temporal locality. We evaluate the validity of our models and methods on a wide range of sparse matrices by performing actual runs through using OSKI. Experimental results show that proposed methods and models outperform state-of-the-art schemes.Comment: arXiv admin note: substantial text overlap with arXiv:1202.385

    Metrics and Models for Reordering Transformations

    No full text
    Irregular applications frequently exhibit poor performance on contemporary computer architectures, in large part because of their inefficient use of the memory hierarchy. Runtime data- and iteration-reordering transformations have been shown to improve the locality and therefore the performance of irregular benchmarks. This paper describes models for determining which combination of run-time data- and iterationreordering heuristics will result in the best performance for a given dataset. We propose that the data- and iterationreordering transformations be viewed as approximating minimal linear arrangements on two separate hypergraphs: a spatial locality hypergraph and a temporal locality hypergraph. Our results measure the efficacy of locality metrics based on these hypergraphs in guiding the selection of dataand iteration-reordering heuristics. We also introduce new iteration- and data-reordering heuristics based on the hypergraph models that result in better performance than do previous heuristics

    An approach for code generation in the Sparse Polyhedral Framework

    No full text
    Applications that manipulate sparse data structures contain memory reference patterns that are unknown at compile time due to indirect accesses such as A[B[i]]. To exploit parallelism and improve locality in such applications, prior work has developed a number of Run-Time Reordering Transformations (RTRTs). This paper presents the Sparse Polyhedral Framework (SPF) for specifying RTRTs and compositions thereof and algorithms for automatically generating efficient inspector and executor code to implement such transformations. Experimental results indicate that the performance of automatically generated inspectors and executors competes with the performance of hand-written ones when further optimization is done.We thank Jon Roelofs for his implementation of the IEGenCC tool, which converts C programs into the specification format IEGen expects as input. We thank Christopher Krieger, Andrew Stone, Tomofumi Yuki, and anonymous reviewers for their careful reading and suggestions. This work was sponsored by NSF CAREER Grant CCF-0746693, DOE Early Career Grant DE-SC3956, the CSCAPES Institute DOE Grant 7F-00323, and the CACHE project DOE Grant DE-SC04030.Available online 4 March 2016. 24 month embargo.This item from the UA Faculty Publications collection is made available by the University of Arizona with support from the University of Arizona Libraries. If you have questions, please contact us at [email protected]

    Paths to Success: The Relationship Between Human Development and Economic Growth.

    No full text
    This paper explores the two-way relationships between Economic Growth (EG) and Human Development (HD), building on an earlier work by Ranis, Stewart, and Ramirez (2000). Here, we show that HD is not only a product of EG but also an important input to it. The paper develops new empirical strategies to estimate the strength of the two-way chains connecting HD and EG. Building on existing growth literature, we explore the empirical determinants of positive growth trajectories running from HD to EG and find that HD plays an essential role in explaining growth trajectories. Our findings point to the empirical relevance of endogenous growth models in general, and threshold effect models in particular. We also develop a measure of the strength of the EG to HD relationship and explore some of its empirical determinants. A strong sequencing implication of our findings is that HD must be given priority for the achievement of both higher EG as well as HD
    corecore