Skip to content

Logistic Regression Inference Needs check for Size on call to collapseCKKS() #20

@kylanerace

Description

@kylanerace

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:

  1. Build & Install default SEAL Reference Backend
  2. Run using default provided commands, but dump a config file from the backend
  3. Remove all the workloads not being tested from the config file
  4. 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
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions