-
Notifications
You must be signed in to change notification settings - Fork 12k
ggml-vulkan: adds support for op CONV_TRANSPOSE_1D #13813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
* test-backend-ops: adds more spohisticated tests for CONV_TRANSPOSE_1D
Number of additional tests reduced to 108.
The Ubuntu 22 runner stopped because Edit: when the app crashes with segfault it is always during the exit after the tests were executed. |
It's showing failures in some of the conv_transpose_1d tests, e.g.:
Then it appears to crash on the first test after the conv_transpose_1d tests, which does seem like it's related to this change somehow. |
That's interesting. I could finally reproduce these errors with llvmpipe, but not with the discrete GPU. I need time to investigate what's the root cause. |
Wild guess - any chance of uninitialized shared memory? |
It can be, but there is a chance that the code is correct but llvmpipe what's the root cause of the failing tests. I executed parameter sweeps (Cin, K, L) and turns out that if one (or combination of parameters) are large enough, the test fails. Even if I test with Argmax also segfaults on llvmpipe on my computer for some reason. |
* Removes extra whitespaces. * Adds int64->int32 casts to prevent possible warnings.
No, I was not aware of the fact that iterations in loops are simply skipped after reaching a certain limit on llvmpipe, so I decided to reduce the maximum test problem size to 1337x13 (input x kernel) in order to to pass the tests on llvmpipee in commit 2813cf4. Llvmpipe starts to trim the loops after ~30k iterations so this number should be safe and also realistic opposed to my previous edge cases. 5120x512 also worked for me with 128 threads resulting in ~20k iterations per thread. |
ggml-vulkan: adds support for op CONV_TRANSPOSE_1D
test-backend-ops: adds additional tests for CONV_TRANSPOSE_1D