Skip to content

build: reduce build time for bquant tests by splitting into multiple cpp & support on other gfx10 case#3395

Merged
ThomasNing merged 8 commits intodevelopfrom
aviralgoel/split_bquant_test_cases
Dec 15, 2025
Merged

build: reduce build time for bquant tests by splitting into multiple cpp & support on other gfx10 case#3395
ThomasNing merged 8 commits intodevelopfrom
aviralgoel/split_bquant_test_cases

Conversation

@AviralGoelAMD
Copy link
Copy Markdown
Collaborator

@AviralGoelAMD AviralGoelAMD commented Dec 10, 2025

Proposed changes

Described as the PR title.

We reduce the build time from 4m 24s to 1m 31s.
The build time was reduced by approximately 65.5%.

Checklist

Please put an x into the boxes that apply. You can also fill these out after creating the PR. If you're not sure, please don't hesitate to ask.

  • I have added tests relevant to the introduced functionality, and the unit tests are passing locally
  • I have added the test to REGRESSION_TESTS list defined at the top of CMakeLists.txt in tests/CMakeLists.txt, IF the test takes more than 30 seconds to run.
  • I have added inline documentation which enables the maintainers with understanding the motivation
  • I have removed the stale documentation which is no longer relevant after this pull request
  • (If this change is user-facing) I have added release notes which provide the end users with a brief summary of the improvement from this pull request
  • I have run clang-format on all changed files
  • Any dependent changes have been merged

Discussion

If this is a relatively large or complex change, feel free to start a discussion by explaining why you chose the solution you did and what alternatives you considered

@ThomasNing ThomasNing changed the title build: reduce build time for bqaunt tests by splitting into multiple cpp build: reduce build time for bquant tests by splitting into multiple cpp & support on other gfx10 case Dec 11, 2025
@ThomasNing ThomasNing marked this pull request as ready for review December 11, 2025 07:47
@AviralGoelAMD AviralGoelAMD requested review from a team and ddembeckAMD as code owners December 11, 2025 08:33
@AviralGoelAMD AviralGoelAMD force-pushed the aviralgoel/split_bquant_test_cases branch from 8c8a3d0 to f52ee0a Compare December 11, 2025 16:45
@AviralGoelAMD
Copy link
Copy Markdown
Collaborator Author

image

We reduce the build time from 4m 24s to 1m 31s.
The build time was reduced by approximately 65.5%.

amd-khushbu
amd-khushbu previously approved these changes Dec 12, 2025
@tenpercent tenpercent requested a review from Copilot December 12, 2025 22:04
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR significantly reduces build time for bquant tests by splitting large test files into smaller, more focused compilation units. The build time improvement is approximately 65.5% (from 4m 24s to 1m 31s). Additionally, the PR extends architecture support to include additional gfx10 variants (gfx1011, gfx1012, gfx1013, and gfx10_1_generic).

Key Changes

  • Split monolithic test files into multiple smaller test files organized by configuration type
  • Added support for gfx10.1 architecture variants (gfx1011, gfx1012, gfx1013, gfx10_1_generic)
  • Created umbrella build target for all gemm quant tests

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/ck_tile/grouped_gemm_quant/CMakeLists.txt Commented out previously split test executables
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant.cpp Removed monolithic BQuant test file
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_1d_128.cpp New file for 1D GroupSize 128 BQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_1d_64.cpp New file for 1D GroupSize 64 BQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_2d_small_n.cpp New file for 2D small N (8N, 16N) BQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_2d_medium_n.cpp New file for 2D medium N (32N, 64N) BQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_2d_large_n.cpp New file for 2D large N (128N) BQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_transpose.cpp New file for transpose layout BQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_preshuffle.cpp Removed monolithic preshuffle BQuant test file
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_preshuffle_decode_1d.cpp New file for 1D decode preshuffle tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_preshuffle_prefill_1d.cpp New file for 1D prefill preshuffle tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_preshuffle_tiled_permute.cpp New file for tiled permute preshuffle tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_preshuffle_decode_2d.cpp New file for 2D decode preshuffle tests
test/ck_tile/gemm_block_scale/test_gemm_quant_bquant_preshuffle_prefill_2d.cpp New file for 2D prefill preshuffle tests
test/ck_tile/gemm_block_scale/test_gemm_quant_aquant.cpp Removed monolithic AQuant test file
test/ck_tile/gemm_block_scale/test_gemm_quant_aquant_base_rcr.cpp New file for RCR layout AQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_aquant_base_rrr_crr.cpp New file for RRR/CRR layout AQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_aquant_base_ccr.cpp New file for CCR layout AQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_aquant_prefill.cpp New file for prefill configuration AQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_aquant_transpose_c.cpp New file for transpose C configuration AQuant tests
test/ck_tile/gemm_block_scale/test_gemm_quant_aquant_preshuffle.cpp New file for preshuffle configuration AQuant tests
test/ck_tile/gemm_block_scale/CMakeLists.txt Updated to build new test executables and added umbrella target
include/ck_tile/core/config.hpp Added architecture support for gfx1011, gfx1012, gfx1013, and gfx10_1_generic

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@ThomasNing ThomasNing merged commit 5e2d25e into develop Dec 15, 2025
25 checks passed
@ThomasNing ThomasNing deleted the aviralgoel/split_bquant_test_cases branch December 15, 2025 15:19
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.

4 participants