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

[BUG] EpilogueTileAuto doesn't work when tile shape is (128, 112, 64) #2133

Open
henrylhtsang opened this issue Feb 25, 2025 · 1 comment
Open
Labels
? - Needs Triage bug Something isn't working

Comments

@henrylhtsang
Copy link

Describe the bug
I am using gemm configs from generator.py. op.configuration name is cutlass3x_sm90_tensorop_s64x56x16gemm_f16_f16_f32_void_f16_128x112x64_4x1x1_0_ttn_align8_warpspecialized_pingpong_epi_tma

This is the code https://gist.github.com/henrylhtsang/aa797c7d280b792eef574317111ac215

Question:

  1. Should I consider not use EpilogueTileAuto? Or is this fixable from this logic?
    if constexpr (cute::is_same_v<EpilogueTileType, EpilogueTileAuto>) {
    auto epi_tile = [&] () {
    if constexpr (detail::sm90_is_cooperative_v<Schedule>) {
    auto tile_m = cute::min(_128{}, size<0>(TileShape_MNK{}));
    auto tile_n = cute::min(_32{}, size<1>(TileShape_MNK{}));
    return make_shape(tile_m, tile_n);
    }
  2. What epilogue tile shape should I use?

Steps/Code to reproduce bug
compile https://gist.github.com/henrylhtsang/aa797c7d280b792eef574317111ac215

     static_assert(size<1>(CtaTileMNK{}) % size<1>(shape(EpilogueTile{})) == 0, "EPI_TILE_N must divide CTA_N");

Expected behavior
compilation should be successful

Environment details (please complete the following information):

  • Environment location: [Bare-metal, Docker, Cloud(specify cloud provider)]

Additional context
Add any other context about the problem here.

@henrylhtsang henrylhtsang added ? - Needs Triage bug Something isn't working labels Feb 25, 2025
@tridao
Copy link
Contributor

tridao commented Feb 26, 2025

You'd want

auto tile_n = cute::gcd(cute::min(_32{}, size<1>(TileShape_MNK{})), size<1>(TileShape_MNK{}));

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
? - Needs Triage bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants