From 7e166a1c84d61d088ddcc91faa9de4971d73cbdc Mon Sep 17 00:00:00 2001 From: John Afaganis Date: Wed, 16 Sep 2026 01:47:01 -0600 Subject: [PATCH 1/3] ci: add rocke-lib: conv label for convolution work in the rocKE library Convolution kernels moved from rocke/platform/ to rocke/library/ in #11978, where no rocKE label glob reaches. A conv PR touching only that layer now carries no rocKE subteam label at all -- #11888 is the live example. Adds a rocke-lib: conv rule mirroring the rocke-lib: attention rule added in #10040, so the convolution authors get the same live watch-queue the attention authors have. CODEOWNERS is deliberately unchanged: rocke/library/ already resolves to @ROCm/rocke-lib, which contains the convolution authors, so review routing is already correct. Co-Authored-By: Claude Opus 5 (1M context) --- .github/labeler.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index e85b2f1d9185..5f41146bd381 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -33,6 +33,15 @@ - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*sdpa*' - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/builders/**/attention/**/*' +"rocke-lib: conv": +- changed-files: + - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*conv*' + - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*wgrad*' + - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*dgrad*' + - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*implicit_gemm*' + - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*img2col*' + - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/builders/**/conv*/**/*' + # This label serves to distiguish work being done in RocKE platform, for the reviewing team and internal tools "rocke: platform": From 5c3abe6de3d716d3be88939f8a05facc8b82bdc7 Mon Sep 17 00:00:00 2001 From: John Afaganis Date: Wed, 16 Sep 2026 01:54:27 -0600 Subject: [PATCH 2/3] ci: name the label rocke-lib: convolution, not rocke-lib: conv The label has now been created in the repo as "rocke-lib: convolution" -- spelled out rather than abbreviated. actions/labeler matches the label by exact name, so the rule key has to match it or nothing is applied. Co-Authored-By: Claude Opus 5 (1M context) --- .github/labeler.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 5f41146bd381..cf3431b49b9d 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -33,7 +33,7 @@ - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*sdpa*' - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/builders/**/attention/**/*' -"rocke-lib: conv": +"rocke-lib: convolution": - changed-files: - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*conv*' - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*wgrad*' From 763e535caba754c66715a264cd5870fcfd959a79 Mon Sep 17 00:00:00 2001 From: John Afaganis Date: Wed, 16 Sep 2026 09:49:59 -0600 Subject: [PATCH 3/3] ci: match conv directory segments, not just conv-prefixed ones The convolution rule missed 13 tracked files. `library/**/*conv*` only matches the basename, and `builders/**/conv*/**/*` only matches a segment that begins with `conv`, so neither reached `builders/gfx{950,1151}/deep_conv_fusion/` -- its README.md, ALGORITHM.md, profile_best_config.py and the rest carried no convolution label. Adopt the idiom `ck: convolution` already uses in this file: pair each token glob with a directory companion, and add the `*conv` pair for a segment named exactly `conv`, which `conv[!e]` cannot match because it requires a character after `conv`. This also fixes two things beyond the directory gap: - `conv[!e]` stops the convert/conversion family being labelled as convolution. The previous `*conv*` matched `type_convert.py`, which is core dtype code, not convolution. - Scope moves from `builders/` to `library/`, so conv directories outside builders are covered -- `benchmarks/common/grouped_conv{,_shapes}/` were reachable before only because every file in them happens to carry `conv` in its own basename. `2col` replaces `img2col` and admits both spellings; filenames use `img2col`, but `im2col` appears in prose in seven files. Verified by replaying the globs through a minimatch v10 port (the library actions/labeler@v6.1.0 uses) against the tree: 72 of 72 convolution files matched, 0 missed, 0 false positives, and an 8-case probe of paths that do not exist yet passes 8/8. Replaying every rule over all 47,592 tracked files confirms no other label's file set changes. Co-Authored-By: Claude Opus 5 (1M context) --- .github/labeler.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index cf3431b49b9d..b80314beaff8 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -35,12 +35,11 @@ "rocke-lib: convolution": - changed-files: - - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*conv*' - - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*wgrad*' - - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*dgrad*' - - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*implicit_gemm*' - - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/**/*img2col*' - - any-glob-to-any-file: 'dnn-providers/hip-kernel-provider/rocke/library/builders/**/conv*/**/*' + - any-glob-to-any-file: + - 'dnn-providers/hip-kernel-provider/rocke/library/**/*{conv[!e],wgrad,dgrad,implicit_gemm,2col}*' + - 'dnn-providers/hip-kernel-provider/rocke/library/**/*{conv[!e],wgrad,dgrad,implicit_gemm,2col}*/**' + - 'dnn-providers/hip-kernel-provider/rocke/library/**/*conv' + - 'dnn-providers/hip-kernel-provider/rocke/library/**/*conv/**' # This label serves to distiguish work being done in RocKE platform, for the reviewing team and internal tools