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

Vector-to-kernel pipeline bundle #987

Merged
merged 14 commits into from
Dec 6, 2024
Merged

Conversation

arun-thmn
Copy link
Contributor

@arun-thmn arun-thmn commented Dec 3, 2024

The PR Vector-to-kernel pipeline bundle does the following:

  1. Bundles the four passes: brgemm tiling (Linalgtiling #974), vectorization (Linalg->Vector dialect pass and pipeline changes #958), hoisting vector transfers (Hoist vector transfers outside reduction and k loop #977), and vector to fma (Lower vector.contract to chain of vector.fma for matrix multiply. #978) together for the vector-to-kernel pipeline.

  2. New json files are added to benchmark folder for benchmarking the vector-to-kernel pipeline.
    a) /base/vector.json: tests the base sequential version for mlp/gemm fp-32
    b) /omp/mlp-fp32-vector.json: tests the omp version for mlp/gemm-fp32
    c) /omp/torch-dynamo-vector-to-kernel.json: tests the omp vesion for torch mlp/gemm-fp32.

  3. Updating the brgemm default tile size to lhsTile:4,32 and rhsTile:32,1, as this size emits the better gflops.

@arun-thmn arun-thmn added the benchmark Triggers benchmark jobs label Dec 3, 2024
@rengolin rengolin added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 4, 2024
@arun-thmn arun-thmn added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 4, 2024
@rengolin rengolin mentioned this pull request Dec 4, 2024
@arun-thmn arun-thmn added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 4, 2024
@arun-thmn arun-thmn added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 4, 2024
@arun-thmn arun-thmn added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 4, 2024
@arun-thmn arun-thmn marked this pull request as ready for review December 4, 2024 17:32
@arun-thmn arun-thmn requested a review from rengolin December 4, 2024 17:32
@rengolin rengolin added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 5, 2024
@arun-thmn arun-thmn removed the benchmark Triggers benchmark jobs label Dec 5, 2024
@arun-thmn arun-thmn added the benchmark Triggers benchmark jobs label Dec 5, 2024
Copy link
Collaborator

@adam-smnk adam-smnk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good

lib/TPP/DefaultTppPasses.cpp Show resolved Hide resolved
lib/TPP/DefaultTppPasses.cpp Outdated Show resolved Hide resolved
lib/TPP/DefaultTppPasses.cpp Show resolved Hide resolved
scripts/buildkite/tpp-mlir.yml Outdated Show resolved Hide resolved
@arun-thmn arun-thmn added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 6, 2024
@arun-thmn
Copy link
Contributor Author

@rengolin Responded to your comments. Please have a look.

@arun-thmn arun-thmn requested a review from shahidact December 6, 2024 07:08
lib/TPP/DefaultTppPasses.cpp Show resolved Hide resolved
benchmarks/config/base/base.json Outdated Show resolved Hide resolved
benchmarks/config/base/vector-to-kernel.json Outdated Show resolved Hide resolved
@arun-thmn arun-thmn added benchmark Triggers benchmark jobs and removed benchmark Triggers benchmark jobs labels Dec 6, 2024
@arun-thmn
Copy link
Contributor Author

@rengolin Removed base/vector-to-kernel.json and moved the examples into base\base.json as you mentioned.

Copy link
Contributor

@rengolin rengolin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@arun-thmn arun-thmn merged commit f07997a into plaidml:main Dec 6, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
benchmark Triggers benchmark jobs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants