Stream-K Optimization and Exploration

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Rackley, Nick, Gonzalez, Bryan, Morrison, Casey
Format: Preprint
Publié: 2024
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866916307265388544
author Rackley, Nick
Gonzalez, Bryan
Morrison, Casey
author_facet Rackley, Nick
Gonzalez, Bryan
Morrison, Casey
contents We explore optimization options for the Stream-K algorithm, a work-centric parallelization of matrix multiplication (GEMM). In our study, we investigated differences between the theoretical and practical implementations, particularly noting the impact of padding. Our debugging efforts revealed a persistent bug related to block mapping, which we could not fully resolve, but we managed to implement some optimizations. Setting the padding to zero for the M, N, and K dimensions resulted in an average 0.6% improvement in performance, achieving 1.44 ms, 89.37 TFlops, and 66.91 GB/s. However, adjusting the block size and parameters led to the process getting stuck, indicating a need for further tuning. Additionally, exploring the potential of Block2Time highlighted its promise in enhancing runtime predictions and optimizing load balancing.
format Preprint
id arxiv_https___arxiv_org_abs_2407_00044
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Stream-K Optimization and Exploration
Rackley, Nick
Gonzalez, Bryan
Morrison, Casey
Distributed, Parallel, and Cluster Computing
We explore optimization options for the Stream-K algorithm, a work-centric parallelization of matrix multiplication (GEMM). In our study, we investigated differences between the theoretical and practical implementations, particularly noting the impact of padding. Our debugging efforts revealed a persistent bug related to block mapping, which we could not fully resolve, but we managed to implement some optimizations. Setting the padding to zero for the M, N, and K dimensions resulted in an average 0.6% improvement in performance, achieving 1.44 ms, 89.37 TFlops, and 66.91 GB/s. However, adjusting the block size and parameters led to the process getting stuck, indicating a need for further tuning. Additionally, exploring the potential of Block2Time highlighted its promise in enhancing runtime predictions and optimizing load balancing.
title Stream-K Optimization and Exploration
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2407.00044