-
Notifications
You must be signed in to change notification settings - Fork 29
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
Filling BFArray via buffer argument does not consistently work #231
Comments
@dentalfloss1 One thing I noticed when looking into this was that |
I'm thinking through this some more. For the first part in
On my Ubuntu desktop the values printed out increment by 4016 while on my Mac it's 4096. For reference the default Bifrost alignment is 4096. For the next part in the test suite we do something like:
On my desktop I get something that is aligned at 16 while my Mac still goes to an alignment of 4096. Then we do a transpose (which is probably in place) and a copy:
This time on my desktop I get something aligned at 32 while the Mac still ends up at 4096. My guess is that using If you build Bifrost with an alignment of 16 instead of 4096 do these failures disappear? |
I tried the test suggested above and it does... something. I still get failures on my desktop but now they are things like a comparison with an array full of zeros. That's believable if you assume some packets are getting dropped for whatever reason. I'm still not convinced that I'm seeing the whole picture. |
And why are all of the self-hosted tests failing now with
? Update: This has been resolved. |
Maybe this was all a problem with how we were directly saving the ring's contents rather than a copy. After refactoring the disk and UDP I/O tests in |
In the current version of test_udp_io.py in the ibverbs-support branch, we fill bfarrays like so:
final = bf.ndarray(shape=(final.shape[0],4,4096), dtype='ci4', buffer=final.ctypes.data)
This method produces a bfarray that occasionally does not contain the correct data. It's possible this is platform dependent as these tests tend to not fail on Mac.
This following method seems to work consistently:
final = bf.ndarray(final,dtype='ci4')
Attached is a test in which the first method fails on our local Ubuntu based machine while the second method passes. redo_test_udp_io.py.txt
The text was updated successfully, but these errors were encountered: