skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Library API for Z-Order Memory Layout

Software ·
OSTI ID:1232087

This library provides a simple-to-use API for implementing an altnerative to traditional row-major order in-memory layout, one based on a Morton- order space filling curve (SFC) , specifically, a Z-order variant of the Morton order curve. The library enables programmers to, after a simple initialization step, to convert a multidimensional array from row-major to Z- order layouts, then use a single, generic API call to access data from any arbitrary (i,j,k) location from within the array, whether it it be stored in row- major or z-order format. The motivation for using a SFC in-memory layout is for improved spatial locality, which results in increased use of local high speed cache memory. The basic idea is that with row-major order layouts, a data access to some location that is nearby in index space is likely far away in physical memory, resulting in poor spatial locality and slow runtime. On the other hand, with a SFC-based layout, accesses that are nearby in index space are much more likely to also be nearby in physical memory, resulting in much better spatial locality, and better runtime performance. Numerous studies over the years have shown significant runtime performance gains are realized by using a SFC-based memory layout compared to a row-major layout, sometimes by as much as 50%, which result from the better use of the memory and cache hierarchy that are attendant with a SFC-based layout (see, for example, [Beth2012]). This library implementation is intended for use with codes that work with structured, array-based data in 2 or 3 dimensions. It is not appropriate for use with unstructured or point-based data.

Short Name / Acronym:
ZORDER-LIB; 003375MLTPL00
Site Accession Number:
2015-044
Version:
00
Programming Language(s):
Medium: X; OS: Unix, Linus, Windows; Compatibility: Multiplatform
Research Organization:
Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC02-05CH11231
OSTI ID:
1232087
Country of Origin:
United States

Similar Records

zorder-lib: Library API for Z-Order Memory Layout
Technical Report · Wed Apr 01 00:00:00 EDT 2015 · OSTI ID:1232087

zorder-lib: Library API for Z-Order Memory Layout
Technical Report · Wed Apr 01 00:00:00 EDT 2015 · OSTI ID:1232087

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)
Technical Report · Fri Nov 29 00:00:00 EST 2019 · OSTI ID:1232087

Related Subjects