Stream-K++: Adaptive GPU GEMM Kernel Scheduling and Selection using Bloom Filters

2024年08月21日
  • 简介
    本文介绍了Stream-K++,这是一种优化通用矩阵乘法(GEMM)调度算法的新方法。随着GPU架构的发展,优化GEMM的性能变得越来越重要。我们将Stream-K的调度策略从三个扩展到七个,并使用布隆过滤器实现了高效的解决方案选择机制。我们的方法可以快速消除高达95.8%的不适合的配置,同时保持100%的真负率。我们使用AMD Composable Kernel库实现了Stream-K++,并在AMD Instinct MI250X GPU上进行了评估,证明在某些情况下可以获得显着的性能提升(高达43%)。对于60-97.6%的问题规模,它仍然保持竞争力(在20%以内的最优解)。我们的灵活框架实现在Opensieve C++库中,可以轻松适应新的问题规模、调度策略或其他调整参数,为将来基于GPU的GEMM操作的优化铺平道路。
  • 图表
  • 解决问题
    优化GPU上的GEMM性能,提高计算效率。
  • 关键思路
    通过扩展Stream-K的调度策略和使用Bloom过滤器实现高效的解决方案选择,从而提高Stream-K算法的性能。
  • 其它亮点
    使用AMD Composable Kernel库实现Stream-K++,在AMD Instinct MI250X GPU上进行评估,取得了高达43%的性能提升。在60-97.6%的问题规模上仍然保持竞争力。Opensieve C++库实现了灵活的框架,可以轻松适应新的问题规模、调度策略或额外的调优参数。
  • 相关研究
    与本论文相关的研究包括Stream-K算法以及其他GPU加速GEMM的方法,如CUBLAS和CLBlast等。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论