DOE OSTI · 1997766
Tiling Framework for Heterogeneous Computing of Matrix based Tiled Algorithms
Abstract
Tiling matrix operations can improve the load balancing and performance of applications on heterogeneous computing resources. Writing a tile-based algorithm for each operation with a traditional, hand-tuned tiling approach that uses for loops in C/C++ is cumbersome and error prone. Moreover, it must enable and support the heterogeneous memory management of data objects and also explore architecture-supported, native, tiled-data transfer APIs instead of copying the tiled data to continuous memory before the data transfer. The tiling framework provides a tiled data structure for heterogeneous memory mapping and parameterization to a heterogeneous task specification API. We have integrated our tiled framework into MatRIS (Math kernels library using IRIS). IRIS is a heterogeneous run-time framework with a heterogeneous programming model, memory model, and task execution model. Experiments reveal that the tiled framework for BLAS operations has improved the programmability of tiled BLAS and improved performance by ~20% when compared against the traditional method that copies the data to continuous memory locations for heterogeneous computing.
Keep this discovery
Explore connections, maps & timelines
Miniskar, Narasinga Rao, Monil, M. A. H., Valero Lara, Pedro, Liu, Frank, Vetter, Jeffrey. 2023-02-01. Tiling Framework for Heterogeneous Computing of Matrix based Tiled Algorithms. https://doi.org/10.1145/3587278.3595642
Cite the original work for its findings. Save a collection to share your selection of sources.