Techniques for organizing three-dimensional array data
AssigneeIntel Corporation
InventorAlex M. Wells
Life of this patent
Estimating the term…
Abstract
Various embodiments are generally directed to storing data of a three-dimensional (3D) array in a tiled manner in which adjacent rows of adjacent planes are interleaved to enable more efficient retrieval in performing 3D stencil calculations. An apparatus to perform a stencil calculation includes a processor component, a storage communicatively coupled to the processor component, and an interleaving component for execution by the processor component to interleave storage of data of cells of adjacent rows of a first plane with data of cells of adjacent rows of an adjacent second plane of a 3D array among contiguous storage locations of the storage. Other embodiments are described and claimed.
Claims25
An apparatus comprising:
- a processor component of a computing device;
- a storage of the computing device, the storage communicatively coupled to the processor component;
- and
- an interleaving component of the computing device for execution by the processor component to interleave storage of data of cells of adjacent rows of a first plane with data of cells of adjacent rows of an adjacent second plane of a three-dimensional (3D) array among contiguous storage locations of the storage, the interleaving component to generate an alternating order of adjacent rows from the first plane and the second plane of the 3D array in an interleaving pattern by interleaving on a row-by-row basis causing at least one row of the first plane to be followed by a same row of the adjacent second plane in contiguous storage locations of the storage.
An apparatus comprising:
- a processor component of a computing device;
- a storage of the computing device, the storage communicatively coupled to the processor component;
- and
- a stencil component of the computing device for execution by the processor component to convolve a performance of a three-dimensional (3D) stencil calculation about a tiled 3D array comprising data of cells of adjacent rows of a first plane interleaved with data of cells of adjacent rows of a second plane among contiguous storage locations of the storage, the data interleaved to generate an alternating order of adjacent rows from the first plane and the second plane of the 3D array by interleaving on a row-by-row basis causing at least one row of the first plane to be followed by a same row of the adjacent second plane in contiguous storage locations of the storage.
A computer-implemented method comprising:
- interleaving storage of data of cells of adjacent rows of a first plane with data of cells of adjacent rows of an adjacent second plane of a three-dimensional (3D) array among contiguous storage locations of a storage to form a tile of data in the storage, the data interleaved to generate an alternating order of adjacent rows from the first plane and the second plane of the 3D array in an interleaving pattern by interleaving on a row-by-row basis causing at least one row of the first plane to be followed by a same row of the adjacent second plane in contiguous storage locations of the storage;
- and
- convolving performance of a 3D stencil calculation about data of the tile.
At least one non-transitory machine-readable storage medium comprising instructions that when executed by a computing device, cause the computing device to:
- interleave storage of data of cells of adjacent rows of a first plane with data of cells of adjacent rows of an adjacent second plane of a three-dimensional (3D) array among contiguous storage locations of a storage of the computing device to form a tile of data in the storage, the data interleaved to generate an alternating order of adjacent rows from the first plane and the second plane of the 3D array by interleaving on a row-by-row basis causing at least one row of the first plane to be followed by a same row of the adjacent second plane in contiguous storage locations of the storage.
Dependencies are inferred from the claim text.