[MTHREADS] document Conv1D padding benchmark optimization investigation - #6037
Open
gao0624 wants to merge 1 commit into
Open
[MTHREADS] document Conv1D padding benchmark optimization investigation#6037gao0624 wants to merge 1 commit into
gao0624 wants to merge 1 commit into
Conversation
gao0624
force-pushed
the
mthreads/optimize-conv1d-padding
branch
from
September 7, 2026 12:05
d066a6b to
61555d1
Compare
gao0624
force-pushed
the
mthreads/optimize-conv1d-padding
branch
2 times, most recently
from
September 7, 2026 12:38
db0822f to
7fc5c5e
Compare
|
|
gao0624
force-pushed
the
mthreads/optimize-conv1d-padding
branch
from
September 7, 2026 12:44
7fc5c5e to
86d7673
Compare
gao0624
force-pushed
the
mthreads/optimize-conv1d-padding
branch
3 times, most recently
from
September 7, 2026 14:47
841fc25 to
5d5587b
Compare
- document dedicated Conv1D kernel evaluation against canonical path - record final benchmark findings on MTT S5000 - document rationale for not landing the production change - record methodology, ratio definition, and reproducibility scope - include measurement_mode column (forced / dispatch-hit / fallback) - clarify K3/K5 as forced-kernel prototype measurements - clarify K7g2 as representative-case win, not region claim - fix K5 conclusion to representative padded case
gao0624
force-pushed
the
mthreads/optimize-conv1d-padding
branch
from
September 7, 2026 23:21
5d5587b to
3ac2fb7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This is an investigation-only PR documenting the Conv1D padding benchmark optimization investigation. No production code change is included.
conv1d_paddingis a benchmark/pytest scope (benchmark/test_conv1d.py -m conv1d_padding), not a separate FlagGems operator. The underlying operator isflag_gems.conv1d, whose canonical implementation reuses Conv2D via unsqueeze/squeeze.A dedicated FP16 true-1D implicit-GEMM Triton prototype (historical reference: PR #6027) was evaluated against the canonical Conv2D-via-unsqueeze path on MTT S5000 to determine whether the Conv1D padding benchmark workload distribution justified a production MTHREADS Conv1D override.
The prototype showed a strong local win on the representative K7g2 dispatch-hit case (1.87x vs canonical), but no sufficiently broad, regression-free production dispatch region was established across the evaluated padding benchmark shapes. The dedicated prototype was therefore not landed; the canonical Conv1D path remains the production default.
Performance
IMPORTANT: The dedicated measurements below are investigation/prototype results. They do not represent production FlagGems performance because the dedicated Conv1D kernel was not landed. Canonical Gems Speedup represents the current production path.
FP16 investigation results
Definitions:
Mode explanation:
Key Findings
Decision
Prototype not landed. Canonical Conv2D-via-unsqueeze path remains production default. Future optimization should examine the underlying Conv2D execution path.
Validation
tests/test_conv1d.pycases passed during the final investigation run.triton.testing.do_bench, warmup=200, iter=500, fresh process + fresh cache.CI
Detailed analysis, architecture, methodology, environment, and benchmark provenance are in
docs/notes/mthreads-conv1d-investigation.md.