Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Triton to c75c6b034756629b891e7b2df406f634552331d5 #223

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

zhaoshiz
Copy link
Contributor

@zhaoshiz zhaoshiz commented Jan 29, 2025

Trying to fix #178

This PR includes cosmetic changes due to LLVM API change, fix for link error, lit test update and adding unsupported tests in conftest.py

zhaoshiz and others added 5 commits January 27, 2025 15:47
Add `sanitize_overflow: bool = True` to class CPUOptions in compiler.py
and `get_benchmarker(self)` to class CPUDriver in driver.py to run the
tests.

XFAILing TritonToLinalg tests since this pass will be retire soon:
test/Conversion/TritonToLinalg/wraparound_side_by_side.mlir
test/Conversion/TritonToLinalg/wraparound_stacked.mlir

XFAILing StructuredToMemref tests due to LLVM commit
889b67c9d30e3024a1317431d66c22599f6c2011 asserts that dynamic shapes
like <2x?> and <?x?> are mismatch:
test/Conversion/StructuredToMemref/wraparound_side_by_side.mlir
test/Conversion/StructuredToMemref/wraparound_stacked.mlir
Add rewriteSplatOp() in PtrAnalysis pass. This function creates a
tts.makeptr for the case below:
    %6 = tt.splat %arg0 : !tt.ptr<i32> -> tensor<1x!tt.ptr<i32>>

Previously we rely on rewriteAddPtrOp to create the tts.makeptr:
    %3 = arith.constant 0 : index
    %6 = tt.splat %arg0 : !tt.ptr<i32> -> tensor<1x!tt.ptr<i32>>
    %7 = tt.addptr %6, %3 : tensor<1x!tt.ptr<i32>>, tensor<1xi32>

Creating a constant 0 and adding it to a pointer is optimized away by
Triton.
This reverts commit 2153c53.

The commit being reverted will be sent in a separate PR.
Thanks Nhat Nguyen for the fix.
UnXFAILed and updated wraparound_side_by_side.mlir and wraparound_stacked.mlir
in test/Conversion/StructuredToMemref.
We use git submodule to checkout Triton at specific commit.
Fix various build issues and lit test failures:

LLVM API changes:
x.get<M> --> cast<M>(x)
y.is<N>  --> isa<N>(Y)
applyPatternsAndFoldGreedily() --> applyPatternsGreedily()
Float32Type::get(somType.getContext()).getWidth() -->
cast<FloatType>(Float32Type::get(elemType.getContext())).getWidth()

Fix link error related to TritonGPUTC05MMAPipeline.
Tests added are either hard-coded to use 'cuda' device or with 'ttg'
dialect.
@zhaoshiz zhaoshiz changed the title Don't checkout Triton at main in github workflow Update Triton to c75c6b034756629b891e7b2df406f634552331d5 Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nightly Build Failure 2024-09-21
1 participant