-
Notifications
You must be signed in to change notification settings - Fork 81
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
cufinufft block_gather method can't handle large non-uniform inputs #498
Comments
If you read I just verified meth=1,2 run fine for this test:
So I propose we ignore this. Unless someone wants to invest time benchmarking and debugging meth=4 (is it much faster?). |
@DiamonDinoia Has method 4 shown to be faster in any of the tests? Wondering if we should commit this method to the graveyard or if we think it's salvageable and potentially worthwhile. |
BlockGather can be faster than SM (optimized):
|
@DiamonDinoia pointed this out to me.
will exit out during the
spread_3d_block_gather
routine due to a memory access violation. This failure seems to be due to numerous integer overflow problems resulting in a wrongidxnupts
.finufft/src/cuda/3d/spreadinterp3d.cuh
Lines 330 to 347 in 22c4f9a
The code consistently crashes at
cnow = c[ii];
above, becauseii
can become negative.Given the pervasive use of
int
in this code for various indexes and intermediate calculations, it's hard to nail down a specific line of code as the problem. The fix, usingint64
everywhere, may have performance problems. In the short, it might be useful to pin down exactly which routine is causing the overflow and check for it, returning if there's an issue with a more useful error message.The text was updated successfully, but these errors were encountered: