Version Information (Put N/A for Not Applicable)
| Software |
Version(s) |
| Linux |
Ubuntu 20.04.1 |
| Git |
2.25.1 |
| CMake |
3.13.3 |
| Compiler (GCC, Clang, etc.) |
gcc 9.3.0-17 |
| GLIBC (ldd) |
2.31-0ubuntu9 |
| Doxygen |
N/A |
| HEBench Frontend |
v0.6.0-beta* |
| HEBench API Bridge |
v0.5.1-beta |
| Reference Backend |
dev (65c076c) |
*Version not released yet. Commit is (ee84413)
Describe the bug
When sizes for the Input vector greater than the available slots are passed, collapseCKKS() fails when trying to rotate internally.
It fails with the error: "step count too large" as thrown by the SEAL Galois-related code. It needs a check to confirm that it's not attempting to rotate more than it should.
To Reproduce
Steps to reproduce the behavior:
- Build & Install default SEAL Reference Backend
- Run using default provided commands, but dump a config file from the backend
- Remove all the workloads not being tested from the config file
- Set the hardcoded batchsize in the SEAL engine to 0:
https://github.com/hebench/backend-cpu-seal/blob/6cd94aee5e3ff906b515f5aff15c932b60bd36fd/src/engine/seal_engine.cpp#L141
- Modify the config batch size to something greater than the slots available (e.g. 5000 if PMD == 8192 b/c slots = pmd / 2)
Expected behavior
It's expected that instead of failing and throwing the error from SEAL, it will simply rotate the amount needed.
Screenshots
N/A
Additional context
N/A
Version Information (Put N/A for Not Applicable)
*Version not released yet. Commit is (ee84413)
Describe the bug
When sizes for the Input vector greater than the available slots are passed, collapseCKKS() fails when trying to rotate internally.
It fails with the error: "step count too large" as thrown by the SEAL Galois-related code. It needs a check to confirm that it's not attempting to rotate more than it should.
To Reproduce
Steps to reproduce the behavior:
https://github.com/hebench/backend-cpu-seal/blob/6cd94aee5e3ff906b515f5aff15c932b60bd36fd/src/engine/seal_engine.cpp#L141
Expected behavior
It's expected that instead of failing and throwing the error from SEAL, it will simply rotate the amount needed.
Screenshots
N/A
Additional context
N/A