Commit d358e5f
committed
[ET-VK][ez][testing] Fix tensor_no_copy_transpose_test crash with transposed matmul
Summary:
The tensor_no_copy_transpose_test was crashing with a segmentation fault when
testing matrix multiplication with a virtually transposed tensor. The test
helper function record_matmul_texture3d() always used the matmul_naive shader
variant, even when mat2 was transposed, causing a shader variant mismatch that
led to invalid descriptor bindings and a crash in the NVIDIA Vulkan driver.
This change adds a mat2_is_transposed parameter (default=false) to
record_matmul_texture3d() to properly select between matmul_naive and
matmul_transposed_naive shader variants. The implementation now mirrors the
production code logic in MatMul.cpp which correctly handles this case.
Changes:
- Added mat2_is_transposed parameter to record_matmul_texture3d() declaration
- Rewrote record_matmul_texture3d() to select correct shader variant based on
transpose flag and properly construct push constants
- Updated test call to pass mat2_is_transposed=true when needed
Impact:
- Eliminates the segmentation fault crash (SIGSEGV)
- Test suite now progresses 13 tests further (31 vs 18 tests before crash)
- Buffer storage path passes all assertions
- Texture3D storage completes without crash (numerical accuracy issues remain
and require separate investigation)
Test Plan:
./cmake-out/backends/vulkan/test/vulkan_compute_api_test \
--gtest_filter=VulkanComputeAPITest.tensor_no_copy_transpose_test1 parent 0ee2f49 commit d358e5f
File tree
3 files changed
+96
-55
lines changed- backends/vulkan/test
- utils
3 files changed
+96
-55
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
360 | | - | |
361 | | - | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
362 | 364 | | |
363 | 365 | | |
364 | 366 | | |
365 | 367 | | |
366 | 368 | | |
367 | 369 | | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
368 | 398 | | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
376 | 413 | | |
377 | 414 | | |
378 | 415 | | |
379 | 416 | | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
387 | 430 | | |
388 | 431 | | |
389 | 432 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
| 138 | + | |
| 139 | + | |
139 | 140 | | |
140 | 141 | | |
141 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
838 | 838 | | |
839 | 839 | | |
840 | 840 | | |
841 | | - | |
| 841 | + | |
842 | 842 | | |
843 | 843 | | |
844 | 844 | | |
| |||
876 | 876 | | |
877 | 877 | | |
878 | 878 | | |
879 | | - | |
| 879 | + | |
| 880 | + | |
880 | 881 | | |
881 | 882 | | |
882 | 883 | | |
| |||
2330 | 2331 | | |
2331 | 2332 | | |
2332 | 2333 | | |
2333 | | - | |
2334 | | - | |
2335 | | - | |
2336 | | - | |
2337 | | - | |
2338 | | - | |
2339 | | - | |
2340 | | - | |
2341 | | - | |
2342 | | - | |
2343 | | - | |
2344 | | - | |
2345 | | - | |
2346 | | - | |
2347 | | - | |
2348 | | - | |
2349 | | - | |
2350 | | - | |
2351 | | - | |
2352 | | - | |
2353 | | - | |
2354 | | - | |
2355 | | - | |
2356 | | - | |
2357 | | - | |
2358 | | - | |
2359 | | - | |
2360 | | - | |
2361 | | - | |
2362 | | - | |
2363 | | - | |
2364 | | - | |
2365 | | - | |
2366 | | - | |
2367 | | - | |
2368 | | - | |
| 2334 | + | |
| 2335 | + | |
| 2336 | + | |
| 2337 | + | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
2369 | 2366 | | |
2370 | 2367 | | |
2371 | 2368 | | |
| |||
0 commit comments