https://github.com/alexkranias/triton_vs_cuda

Building Triton and CUDA kernels side-by-side to create a cuBLAS-performant GEMM kernel.

https://github.com/alexkranias/triton_vs_cuda

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.6%) to scientific vocabulary

Keywords

cuda cuda-kernels gpu gpu-programming parallel-programming python triton
Last synced: 5 months ago · JSON representation

Repository

Building Triton and CUDA kernels side-by-side to create a cuBLAS-performant GEMM kernel.

Basic Info
  • Host: GitHub
  • Owner: alexkranias
  • License: mit
  • Language: Cuda
  • Default Branch: main
  • Homepage:
  • Size: 25.4 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
cuda cuda-kernels gpu gpu-programming parallel-programming python triton
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

tritonvscuda

Building Triton and CUDA kernels side-by-side to create a cuBLAS-performant GEMM kernel.

Lately I've been learning Triton, its strengths, and its weaknesses. Inspired by SiBohem's blog, I thought I would show how we can attempt to build a Triton kernel as performant as a near-cuBLAS performant CUDA kernel. In this endeavor I hope to highlight a few things about Triton: - what are the limitations of a Triton's block level programming paradigm? - as a kernel engineer, how much control do we retain in Triton to squeeze more performance out? - where does the Triton compiler take over and attempt to fill in? How successful is it at this task? Where is work still needed at the compiler level? - when should you actually use Triton v.s. CUDA?

Getting Started

I've divided this project into two branches: - main: template kernel files - solutions: solution kernel files

I've included dockerfiles in each /triton and /cuda directory to make enviornment setup quick and easy. Open those directories and you'll find README.mds explaining how to get going.

In Progress

I'll have a blog on the subject posted at some point on my personal website: alexkranias.com

I'm actively working on that piece.

In the meantime, you can clone this repo to work on this on your own and follow SiBohem's blog.

Owner

  • Name: Alex Kranias
  • Login: alexkranias
  • Kind: user

Feel free to contact me at alexander.kranias@gatech.edu or check out my personal site at alexkranias.com

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels