79 research outputs found

    Identification of regular patterns within sparse data structures

    Get PDF
    2020 Spring.Includes bibliographical references.Sparse matrix-vector multiplication (SpMV) is an essential computation in linear algebra. There is a well-known trade-off between operating on a dense or a sparse structure when performing SpMV. In the dense version of SpMV, useless operations are performed but the computation is amenable SIMD vectorization. In the sparse version, only useful operations are executed. However, an indirection array must be used, thus hindering the compiler's ability to perform optimizations that exploit the vector units available on the majority of modern processors. Our process automatically builds sets of regular sub-computations from the irregular sparse data structure. We mine for regular regions in the irregular data structure, grouping together non-contiguous points from the reorderable set of coordinates representing the sparse structure. The coordinates become partitioned into groupings of coordinates of pre-defined shapes using polyhedra. This partition models the exact same points from the input set of coordinates in a way that is specialized to the input's sparsity pattern. Once we have obtained a partition of the points into sets of polyhedra, we then scan these polyhedra to synthesize code that does not store any coordinates of zero-valued elements and does not require any indirection array to access data, thus making it amenable to SIMD vectorization

    Automatically Harnessing Sparse Acceleration

    Get PDF
    Sparse linear algebra is central to many scientific programs, yet compilers fail to optimize it well. High-performance libraries are available, but adoption costs are significant. Moreover, libraries tie programs into vendor-specific software and hardware ecosystems, creating non-portable code. In this paper, we develop a new approach based on our specification Language for implementers of Linear Algebra Computations (LiLAC). Rather than requiring the application developer to (re)write every program for a given library, the burden is shifted to a one-off description by the library implementer. The LiLAC-enabled compiler uses this to insert appropriate library routines without source code changes. LiLAC provides automatic data marshaling, maintaining state between calls and minimizing data transfers. Appropriate places for library insertion are detected in compiler intermediate representation, independent of source languages. We evaluated on large-scale scientific applications written in FORTRAN; standard C/C++ and FORTRAN benchmarks; and C++ graph analytics kernels. Across heterogeneous platforms, applications and data sets we show speedups of 1.1×\times to over 10×\times without user intervention.Comment: Accepted to CC 202

    Connecting Land–Atmosphere Interactions to Surface Heterogeneity in CHEESEHEAD19

    Get PDF
    The Chequamegon Heterogeneous Ecosystem Energy-Balance Study Enabled by a High-Density Extensive Array of Detectors 2019 (CHEESEHEAD19) is an ongoing National Science Foundation project based on an intensive field campaign that occurred from June to October 2019. The purpose of the study is to examine how the atmospheric boundary layer (ABL) responds to spatial heterogeneity in surface energy fluxes. One of the main objectives is to test whether lack of energy balance closure measured by eddy covariance (EC) towers is related to mesoscale atmospheric processes. Finally, the project evaluates data-driven methods for scaling surface energy fluxes, with the aim to improve model–data comparison and integration. To address these questions, an extensive suite of ground, tower, profiling, and airborne instrumentation was deployed over a 10 km × 10 km domain of a heterogeneous forest ecosystem in the Chequamegon–Nicolet National Forest in northern Wisconsin, United States, centered on an existing 447-m tower that anchors an AmeriFlux/NOAA supersite (US-PFa/WLEF). The project deployed one of the world’s highest-density networks of above-canopy EC measurements of surface energy fluxes. This tower EC network was coupled with spatial measurements of EC fluxes from aircraft; maps of leaf and canopy properties derived from airborne spectroscopy, ground-based measurements of plant productivity, phenology, and physiology; and atmospheric profiles of wind, water vapor, and temperature using radar, sodar, lidar, microwave radiometers, infrared interferometers, and radiosondes. These observations are being used with large-eddy simulation and scaling experiments to better understand submesoscale processes and improve formulations of subgrid-scale processes in numerical weather and climate models
    • …
    corecore