[all-commits] [llvm/llvm-project] 4d3308: [mlir][nvgpu] NVGPU Tutorials (#87065)

Guray Ozen via All-commits all-commits at lists.llvm.org
Wed Apr 24 03:00:34 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4d3308202e52b213a05023c8b8b470b346151de6
      https://github.com/llvm/llvm-project/commit/4d3308202e52b213a05023c8b8b470b346151de6
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A mlir/test/Examples/NVGPU/Ch0.py
    A mlir/test/Examples/NVGPU/Ch1.py
    A mlir/test/Examples/NVGPU/Ch2.py
    A mlir/test/Examples/NVGPU/Ch3.py
    A mlir/test/Examples/NVGPU/Ch4.py
    A mlir/test/Examples/NVGPU/Ch5.py
    A mlir/test/Examples/NVGPU/lit.local.cfg
    A mlir/test/Examples/NVGPU/tools/lit.local.cfg
    A mlir/test/Examples/NVGPU/tools/nvdsl.py
    A mlir/test/Examples/NVGPU/tools/nvgpucompiler.py

  Log Message:
  -----------
  [mlir][nvgpu] NVGPU Tutorials (#87065)

I have a tutorial at EuroLLVM 2024 ([Zero to Hero: Programming Nvidia
Hopper Tensor Core with MLIR's NVGPU
Dialect](https://llvm.swoogo.com/2024eurollvm/session/2086997/zero-to-hero-programming-nvidia-hopper-tensor-core-with-mlir's-nvgpu-dialect)).
For that, I implemented tutorial codes in Python. The focus is the nvgpu
dialect and how to use its advanced features. I thought it might be
useful to upstream this.

The tutorial codes are as follows:
- **Ch0.py:** Hello World
- **Ch1.py:** 2D Saxpy
- **Ch2.py:** 2D Saxpy using TMA
- **Ch3.py:** GEMM 128x128x64 using Tensor Core and TMA 
- **Ch4.py:** Multistage performant GEMM using Tensor Core and TMA
- **Ch5.py:** Warp Specialized GEMM using Tensor Core and TMA

I might implement one more chapter:

- **Ch6.py:** Warp Specialized Persistent ping-pong GEMM

This PR also introduces the nvdsl class, making IR building in the
tutorial easier.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list