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

TileAndFuse padding enablement feature enhancements #19275

Open
jerryyin opened this issue Nov 22, 2024 · 0 comments
Open

TileAndFuse padding enablement feature enhancements #19275

jerryyin opened this issue Nov 22, 2024 · 0 comments
Assignees

Comments

@jerryyin
Copy link
Member

jerryyin commented Nov 22, 2024

  1. Per @nirvedhmeshram 's TODO in
    // TODO (nirvedhmeshram, jerryyin): Support all GEMM types.

    if (!schedule && !contractionDims.batch.empty() && !hasFusedLeadingOp) {

There are two sub tasks in the feature:

  • Aiming at Relax or remove the contractionDims.batch.empty() condition
  • add one additional test case for linalg.matmul to compiler/src/iree/compiler/Codegen/LLVMGPU/test/ROCDL/pipeline_tile_and_fuse.mlir, and config_tile_and_fuse.mlir make sure they can be lowered correctly
  1. Per @nirvedhmeshram 's TODO in
    // TODO (nirvedhmeshram, jerryyin) : When using c promotion the heurestics
    // used during finding a schedule need to be updated to account for the
    // extra shared memory for the result.

In condition such as when doCPromotion = !mustBeAligned for now, make sure the MMA schedule take the additional allocation from gemmC into account and populate valid gemm schedules. Essentially formalize the condition of 932b39b into a PR. In the future, we can turn doCPromotion as a tuning variable to explore whether with C promotion can benefit gemm performance overall.

@jerryyin jerryyin self-assigned this Nov 22, 2024
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

No branches or pull requests

1 participant