-
Notifications
You must be signed in to change notification settings - Fork 5
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
Tests are failing #4
Comments
Let me know if I should open a different issue to discuss the following When records do not fit in plaintext modulus of SimplePIR, why are multiple shards created instead of stacking the records vertically within a single row, latter being more suitable for SimeplePIR? The corresponding paper says that for longer records, records were split and vertically stacked within single column across multiple rows. Which makes sense, given the download cost increases linearly with no. of shards. I am asking just in case you found that it is more suitable for some parameter to shard the database? |
Thanks for reporting the issue! Can you please provide the build environment in which the tests failed? That could help to debug the failure. Regarding your second comment: Yes, stacking records vertically would save download cost. By allowing to shard the database one could have the option to save on the upload cost. You can adjust the record size and the number of rows/columns to configure the database to achieve the best tradeoffs that make sense for the application. |
Hi, Thanks for the great work! The tests are still failing. Dockerfile with my build env:
Looks like the recovered record doesn't match the DB. Any ideas on how to fix this? |
After looking more into it, it seems that one of the places where the issue is are these functions: @b5li I hope this helps in finding the root cause of the issue. I don't know the reason why all the other tests are failing, but it seems that most of these issues come from functions in SHELL. |
Thanks for the debugging tips! Can you try the following to see if the test passes:
This will run skip the highway SIMD code and take the slow path instead. |
Thanks a lot for the tip! The tests pass with the slower scalar option. For the faster SIMD code, are there any current plans on fixing the issue? We are working on a follow-up work and would greatly appreciate if we can run the SIMD code for our evaluation. |
Good to know it's the SIMD code that broke the test. What CPU model were you using? I tried on Intel Tiger Lake and Ice Lake, and also an AMD Milan processor, but haven't been able to reproduce the failure. |
I am using Macbook (Apple M1 Pro) with Docker (platform=linux/amd64 ubuntu:22.04). |
Sorry about the late response. @mayank0403 I see that you are running an x86-64 linux docker on an Apple M1 CPU, which seems like a complicated build environment and may confuse the compiler / runtime about which SIMD instruction target to use. It looks like compiler support for SVE instructions on Apple M CPUs might be buggy (see e.g. google/highway#2356), so there might be issues even compiling and running natively on M1 machines. It could also be the case that some uint64_t specific highway code in SHELL might not be supported on those CPUs. Unfortunately I don't have access to Apple M CPU yet, so I wasn't able to tell what exactly the problem is. If you have more information about the failure (e.g. trace or exit code), it would be helpful to identify the root cause. At the meantime I would also recommend to test on x86-64 CPUs. Thanks. |
Hello, thanks for the implementation.
However, few tests are failing after #3 merged.
I am running the tests on m1 mac and can confirm tests pass till #2.
Test summary:
The text was updated successfully, but these errors were encountered: