Guardado en:
Detalles Bibliográficos
Autores principales: Sadasivan, Harisankar, Ozturk, Muhammed Emin, Osama, Muhammad, Millette, Chris, Rai, Astha, Podkorytov, Maksim, Afaganis, John, Huang, Carlus, Zhang, Jing, Liu, Jun
Formato: Preprint
Publicado: 2024
Materias:
Acceso en línea:https://arxiv.org/abs/2408.11417
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!
_version_ 1866912727086137344
author Sadasivan, Harisankar
Ozturk, Muhammed Emin
Osama, Muhammad
Millette, Chris
Rai, Astha
Podkorytov, Maksim
Afaganis, John
Huang, Carlus
Zhang, Jing
Liu, Jun
author_facet Sadasivan, Harisankar
Ozturk, Muhammed Emin
Osama, Muhammad
Millette, Chris
Rai, Astha
Podkorytov, Maksim
Afaganis, John
Huang, Carlus
Zhang, Jing
Liu, Jun
contents General matrix multiplication (GEMM) operations are the fundamental building blocks of computational domains including artificial intelligence (AI). As GPU architectures evolve and high-performance AI becomes increasingly important, optimizing GEMM performance becomes a fundamental problem that needs to be addressed. This paper introduces Stream-K++, an enhancement to the promising Stream-K GEMM scheduling algorithm for workload balancing. We expand Stream-K's scheduling policies from three to seven and implement an efficient solution selection mechanism using Bloom filters. Our approach rapidly eliminates up to 95.8% of unsuitable configurations while maintaining a 100% true-negative rate. Implemented using the AMD Composable Kernel library and evaluated on AMD Instinct MI250X GPUs, Stream-K++ demonstrates significant performance gains (up to 43%) in select scenarios. It remains competitive (within 20% of optimal) for 60-97.6% of problem sizes. Our flexible framework, implemented in the Open-sieve C++ library, allows for easy adaptation to new problem sizes, scheduling policies, or additional tuning parameters, paving the way for future optimizations in GPU-based GEMM operations.
format Preprint
id arxiv_https___arxiv_org_abs_2408_11417
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Stream-K++: Adaptive GPU GEMM Kernel Scheduling and Selection using Bloom Filters
Sadasivan, Harisankar
Ozturk, Muhammed Emin
Osama, Muhammad
Millette, Chris
Rai, Astha
Podkorytov, Maksim
Afaganis, John
Huang, Carlus
Zhang, Jing
Liu, Jun
Distributed, Parallel, and Cluster Computing
D.2; I.2
General matrix multiplication (GEMM) operations are the fundamental building blocks of computational domains including artificial intelligence (AI). As GPU architectures evolve and high-performance AI becomes increasingly important, optimizing GEMM performance becomes a fundamental problem that needs to be addressed. This paper introduces Stream-K++, an enhancement to the promising Stream-K GEMM scheduling algorithm for workload balancing. We expand Stream-K's scheduling policies from three to seven and implement an efficient solution selection mechanism using Bloom filters. Our approach rapidly eliminates up to 95.8% of unsuitable configurations while maintaining a 100% true-negative rate. Implemented using the AMD Composable Kernel library and evaluated on AMD Instinct MI250X GPUs, Stream-K++ demonstrates significant performance gains (up to 43%) in select scenarios. It remains competitive (within 20% of optimal) for 60-97.6% of problem sizes. Our flexible framework, implemented in the Open-sieve C++ library, allows for easy adaptation to new problem sizes, scheduling policies, or additional tuning parameters, paving the way for future optimizations in GPU-based GEMM operations.
title Stream-K++: Adaptive GPU GEMM Kernel Scheduling and Selection using Bloom Filters
topic Distributed, Parallel, and Cluster Computing
D.2; I.2
url https://arxiv.org/abs/2408.11417