Commit c16aaf5
[ET-VK][testing] Create dedicated test binary for pointwise convolutions
Pull Request resolved: #17220
This commit creates a dedicated test binary for pointwise (1x1) convolutions
(test_q8ta_conv2d_pw), separating them from the general 2D convolution tests.
Here are the key changes:
What Changed
1. New Test Binary: test_q8ta_conv2d_pw.cpp (591 lines)
- Dedicated test file focusing exclusively on pointwise convolutions (kernel
size 1x1)
- Contains 9 test configurations ranging from accuracy tests to performance
cases:
- Accuracy tests: Various channel configurations (32→3, 64→32, 96→64, 13→7,
80→40) with different spatial dimensions
- Performance tests: Larger configurations (160→480, 22→48, 48→48, 128→128)
exceeding the 100-dim reference limit
- Tests all combinations of:
- Storage types: Texture3D, Buffer
- Int8 memory layouts: 4C1W, 4W4C, 4C
- Also tests legacy 4W4C implementation via impl_selector="legacy_4w4c"
- Includes full reference implementation for numerical correctness
verification
- Custom FLOP calculator for performance measurements
2. Removed from test_q8ta_conv2d.cpp (44 lines deleted)
- Removed 6 pointwise convolution configurations that are now covered by the
new dedicated binary
- General conv2d tests now focus solely on kernels > 1x1 (3x3, 5x5, etc.)
3. Build System Updates
- Added test_q8ta_conv2d_pw target to:
- targets.bzl (Buck2)
- CMakeLists.txt (CMake)
- Both fbcode and xplat paths updated (files are mirrored)
4. CI/Workflow Integration
- Updated executorch_vulkan_eureka_unit_tests.sky to include the new test
binary in on-device testing workflow
Why This Separation?
Pointwise convolutions (1x1 kernels) are a distinct optimization target with
different performance characteristics than general convolutions. Separating them
enables:
- Focused performance iteration on pointwise-specific shaders
- Cleaner test organization
- Faster test runs when only testing one convolution type
ghstack-source-id: 338638548
@exported-using-ghexport
Differential Revision: [D92307251](https://our.internmc.facebook.com/intern/diff/D92307251/)1 parent 67ff1b8 commit c16aaf5
4 files changed
Lines changed: 593 additions & 44 deletions
File tree
- backends/vulkan/test/custom_ops
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
103 | 104 | | |
104 | 105 | | |
105 | 106 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| 97 | + | |
97 | 98 | | |
98 | 99 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | 261 | | |
291 | 262 | | |
292 | 263 | | |
| |||
352 | 323 | | |
353 | 324 | | |
354 | 325 | | |
355 | | - | |
356 | | - | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | 326 | | |
371 | 327 | | |
372 | 328 | | |
| |||
0 commit comments