You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sub-issue of #1371 ([Feature]: TransposedConv2d — convTranspose2d op, CPU kernel, backward and StableHLO lowering).
Lane: 2 · Kotlin core Skill needed: Kotlin and basic MLIR/StableHLO reading. No CPU-kernel knowledge needed. Size: s (a few hours) Blocked by: nothing
What to do
Add a convTranspose2d case to NeuralNetOperationsConverter (skainet-compile/skainet-compile-hlo/src/commonMain/kotlin/sk/ainet/compile/hlo/converters/), next to conv2d: emit stablehlo.convolution with lhs_dilation = stride, padding dilation*(k-1) - padding (+ outputPadding on the high side), the kernel spatially reversed and its I/O feature dims swapped.
Add a converter test modelled on the existing conv2d export tests (e.g. DagConvGatherPoolExportTest).
Run ./gradlew :skainet-compile:skainet-compile-hlo:jvmTest, regenerate the matrix (./gradlew :skainet-compile:skainet-compile-hlo:jvmTest --tests '*HloCoverageDumpTest' :skainet-compile:skainet-compile-dag:jvmTest --tests '*BackwardCoverageDumpTest' generateDocs) and commit it.
Acceptance
StableHLO column shows ✅ for convTranspose2d
Emitted MLIR for one stride-2 case is checked in the test
Result reported back on the parent issue
Notes
The same lowering with one spatial axis fixes convTranspose1d (also ❌ in the StableHLO column) — see the StableHLO coverage feature.
Activity