Skip to content

Commit

Permalink
SEAL 3.7.1 (#322)
Browse files Browse the repository at this point in the history
* master -> main

* SEAL 3.7.1

* debug windows

* debug windows

* debug windows

* Revert "debug windows"

This reverts commit 410229d.

* debug windows

* cleanup

* update msbuild

* debug windows

* bbreak

* debug

* add /p:TrackFileAccess=false to setup

* add seal hash

* update seal hash
  • Loading branch information
bcebere authored Oct 20, 2021
1 parent 9e34535 commit af35c0f
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
run: .github/workflows/scripts/install_req_windows.bat
if: ${{ matrix.os == 'windows-latest' }}
- name: Install dependencies Windows - msbuild
uses: microsoft/[email protected].2
uses: microsoft/[email protected].3
if: ${{ matrix.os == 'windows-latest' }}
- name: Build the library for Ubuntu/MacOS
run: .github/workflows/scripts/build_nix.sh
Expand Down Expand Up @@ -116,7 +116,7 @@ jobs:
run: .github/workflows/scripts/install_req_windows.bat
if: ${{ matrix.os == 'windows-latest' }}
- name: Install dependencies Windows - msbuild
uses: microsoft/[email protected].2
uses: microsoft/[email protected].3
if: ${{ matrix.os == 'windows-latest' }}
- name: Build the library for Ubuntu/MacOS
run: .github/workflows/scripts/build_nix.sh
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.12)
cmake_minimum_required(VERSION 3.13)

project(tenseal)

Expand Down
2 changes: 1 addition & 1 deletion cmake/seal.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ set(SEAL_USE_INTEL_HEXL ON)
FetchContent_Declare(
com_microsoft_seal
GIT_REPOSITORY https://github.com/microsoft/SEAL
GIT_TAG 7ba34a956015efdd09321f6a4b3c7b09695c9bc4 #v3.7
GIT_TAG 6bfac481aae4057ea887d42eb0f24371e9b4c4f9 #v3.7.1
)
FetchContent_MakeAvailable(com_microsoft_seal)

Expand Down
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def run(self):

def build_extension(self, ext):
extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name)))
hexl = "OFF" if platform.system() == "Windows" else "ON"
hexl = "ON"
cmake_args = [
"-DSEAL_USE_INTEL_HEXL=" + hexl,
"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=" + extdir,
Expand All @@ -61,7 +61,7 @@ def build_extension(self, ext):
cmake_args += [f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_{cfg.upper()}={extdir}"]
if sys.maxsize > 2 ** 32:
cmake_args += ["-A", "x64"]
build_args += ["--", "/m"]
build_args += ["--", "/m", "/p:TrackFileAccess=false"]
else:
cmake_args += ["-DCMAKE_BUILD_TYPE=" + cfg]
build_args += ["--", "-j", "2"]
Expand Down
6 changes: 3 additions & 3 deletions tenseal/deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ def tenseal_deps():
http_archive(
name = "com_microsoft_seal",
build_file = "//third_party:seal.BUILD",
strip_prefix = "SEAL-3.7.0",
sha256 = "dbf5b290960cecef21618ff5de30631d2de5fbfdfaff5972bbd96ed37f222d9c",
urls = ["https://github.com/microsoft/SEAL/archive/v3.7.0.tar.gz"],
strip_prefix = "SEAL-3.7.1",
sha256 = "27446ea4fcea334faabc7439b1e312603ed700e3d26a45ec8408fd1d114374ec",
urls = ["https://github.com/microsoft/SEAL/archive/v3.7.1.tar.gz"],
)

if "com_xtensorstack_xtensor" not in native.existing_rules():
Expand Down
2 changes: 1 addition & 1 deletion tenseal/version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.3.5a"
__version__ = "0.3.6"

1 comment on commit af35c0f

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark 'Python-Benchmarks'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2.

Benchmark suite Current: af35c0f Previous: 9e34535 Ratio
tests/python/benchmarks/test_mnist_eval.py::test_perf_mnist_prepare_input 26.633950232439002 iter/sec (stddev: 0.000232780463698099) 62.89466401670631 iter/sec (stddev: 0.0003399056695614538) 2.36
tests/python/benchmarks/test_mnist_eval.py::test_perf_mnist_eval_conv 0.9526945249788883 iter/sec (stddev: 0.00383453943495162) 3.047238065083786 iter/sec (stddev: 0.0030035558330561807) 3.20
tests/python/benchmarks/test_mnist_eval.py::test_perf_mnist_eval_square1 26.934274122390487 iter/sec (stddev: 0.0004337356506907578) 86.58518423596124 iter/sec (stddev: 0.0005805724518094847) 3.21
tests/python/benchmarks/test_mnist_eval.py::test_perf_mnist_eval_fc1 0.09721422939249975 iter/sec (stddev: 0.025251763253073257) 0.2690667315801998 iter/sec (stddev: 0.1966552757653235) 2.77
tests/python/benchmarks/test_mnist_eval.py::test_perf_mnist_eval_square2 53.9284037882687 iter/sec (stddev: 0.00018377946751419897) 174.37278110639267 iter/sec (stddev: 0.000184195548807057) 3.23
tests/python/benchmarks/test_mnist_eval.py::test_perf_mnist_eval_fc2 1.0277659734287876 iter/sec (stddev: 0.0023179177618972433) 2.963363627286046 iter/sec (stddev: 0.0015711856272015272) 2.88
tests/python/benchmarks/test_mnist_eval.py::test_perf_mnist_eval_full 0.08081667332821804 iter/sec (stddev: 0.03186864660611875) 0.25459244468222736 iter/sec (stddev: 0.011227002302791465) 3.15
tests/python/benchmarks/test_ops.py::test_perf_bfv[256-bfv_test-multiply] 12.880866616462043 iter/sec (stddev: 0.0004977734874107839) 33.70232208325025 iter/sec (stddev: 0.00013484686548123655) 2.62
tests/python/benchmarks/test_ops.py::test_perf_bfv[1024-bfv_test-multiply] 12.71054703398133 iter/sec (stddev: 0.0010076581446604382) 34.09924558147241 iter/sec (stddev: 0.0007230611421046247) 2.68
tests/python/benchmarks/test_ops.py::test_perf_bfv[4096-bfv_test-multiply] 12.68919816525339 iter/sec (stddev: 0.0010412842722700068) 33.807542719717944 iter/sec (stddev: 0.0006986285692833192) 2.66
tests/python/benchmarks/test_ops.py::test_perf_bfv[8192-bfv_test-multiply] 12.793930313815574 iter/sec (stddev: 0.0005998553046191082) 33.819273455137406 iter/sec (stddev: 0.0004614982531603537) 2.64
tests/python/benchmarks/test_ops.py::test_perf_bfv[16384-bfv_test-multiply] 6.353874086649563 iter/sec (stddev: 0.0011846176273072374) 16.847943235100985 iter/sec (stddev: 0.0012446271833695616) 2.65
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[256-ckks_test-multiply] 49.301496399016735 iter/sec (stddev: 0.00023952869233300234) 168.02588405136106 iter/sec (stddev: 0.0002482633618359898) 3.41
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[256-ckks_test-square] 53.537185804976794 iter/sec (stddev: 0.00011712905032621089) 173.6414380706683 iter/sec (stddev: 0.00023204839027719112) 3.24
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[256-ckks_test-dot] 11.267052627817007 iter/sec (stddev: 0.0007713001192984116) 37.30137947961698 iter/sec (stddev: 0.00036155214188154396) 3.31
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[256-ckks_test-polyval] 24.667464083555966 iter/sec (stddev: 0.00048098452948208437) 67.38498158569833 iter/sec (stddev: 0.00014609432798515828) 2.73
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[1024-ckks_test-multiply] 49.85648312767281 iter/sec (stddev: 0.0001562692396765467) 172.25063017889815 iter/sec (stddev: 0.00029957010553494567) 3.45
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[1024-ckks_test-square] 53.67233063615297 iter/sec (stddev: 0.00010591421660895488) 174.93435588292178 iter/sec (stddev: 0.00027113816284510115) 3.26
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[1024-ckks_test-dot] 9.479296552778075 iter/sec (stddev: 0.0010568225179549656) 30.66081413046567 iter/sec (stddev: 0.0006565522628870686) 3.23
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[1024-ckks_test-polyval] 24.52556881293257 iter/sec (stddev: 0.00024550299841412946) 67.35330215054536 iter/sec (stddev: 0.00043285824477684614) 2.75
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[4096-ckks_test-multiply] 49.64388455851084 iter/sec (stddev: 0.00014494844918251884) 166.73419401522398 iter/sec (stddev: 0.0001847357998595762) 3.36
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[4096-ckks_test-square] 53.61459406406753 iter/sec (stddev: 0.000313809725264415) 171.89461210086392 iter/sec (stddev: 0.0004759135373898797) 3.21
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[4096-ckks_test-dot] 8.16637906312866 iter/sec (stddev: 0.0008803816534999483) 26.629654996839907 iter/sec (stddev: 0.0006385590958939801) 3.26
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[4096-ckks_test-polyval] 24.575550747921543 iter/sec (stddev: 0.0002659042155011454) 68.15309475024287 iter/sec (stddev: 0.00026223623151675683) 2.77
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[8192-ckks_test-multiply] 24.77635990378391 iter/sec (stddev: 0.0005469932024097419) 86.30398853884132 iter/sec (stddev: 0.000267072682616864) 3.48
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[8192-ckks_test-square] 26.7327428783314 iter/sec (stddev: 0.0003575941945121248) 88.5835316127971 iter/sec (stddev: 0.0004281246950967472) 3.31
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[8192-ckks_test-dot] 4.144689794422599 iter/sec (stddev: 0.001457175552686865) 13.129296710052959 iter/sec (stddev: 0.0008414075312943535) 3.17
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[8192-ckks_test-polyval] 12.38278394800912 iter/sec (stddev: 0.00045507050303653253) 33.716687575508125 iter/sec (stddev: 0.0003485446387932192) 2.72
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[16384-ckks_test-multiply] 12.461322547078137 iter/sec (stddev: 0.0005732427715484003) 42.01672904470128 iter/sec (stddev: 0.0004945324371874823) 3.37
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[16384-ckks_test-square] 13.398688204111354 iter/sec (stddev: 0.0004680211564863627) 43.68053593571367 iter/sec (stddev: 0.000654448822726251) 3.26
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[16384-ckks_test-dot] 2.0444381446673265 iter/sec (stddev: 0.004822144316887235) 6.500388209684267 iter/sec (stddev: 0.0017024650808538733) 3.18
tests/python/benchmarks/test_ops.py::test_perf_ckks_ops[16384-ckks_test-polyval] 6.108202432620958 iter/sec (stddev: 0.0018461034214800446) 16.292671647531925 iter/sec (stddev: 0.0009311044057311492) 2.67
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[256-ckks_test-multiply] 147.2419665519569 iter/sec (stddev: 0.000035946850624354256) 403.3393269558491 iter/sec (stddev: 0.000012707528084205888) 2.74
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[256-ckks_test-dot] 13.432928648447243 iter/sec (stddev: 0.00078514248964843) 42.146859890352644 iter/sec (stddev: 0.0004490130200214443) 3.14
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[1024-ckks_test-multiply] 151.582812570553 iter/sec (stddev: 0.00010330949994982484) 371.9607090464329 iter/sec (stddev: 0.0001692063297582054) 2.45
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[1024-ckks_test-dot] 10.861939663489482 iter/sec (stddev: 0.0030448797816549716) 33.673167428780786 iter/sec (stddev: 0.0007441870095807762) 3.10
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[4096-ckks_test-multiply] 140.8033053857581 iter/sec (stddev: 0.00024179953376216116) 357.56989776341334 iter/sec (stddev: 0.000012771833460610073) 2.54
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[4096-ckks_test-dot] 9.537127895841941 iter/sec (stddev: 0.0011870598697365444) 28.76829577306232 iter/sec (stddev: 0.000416783043406653) 3.02
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[8192-ckks_test-multiply] 72.2110086549079 iter/sec (stddev: 0.00015854728957091362) 176.9072995136419 iter/sec (stddev: 0.0001223168294639709) 2.45
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[8192-ckks_test-dot] 4.783859075778165 iter/sec (stddev: 0.0016412780412419306) 14.24272729313317 iter/sec (stddev: 0.0007986357290201456) 2.98
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[16384-ckks_test-multiply] 35.95339893006918 iter/sec (stddev: 0.0004115834973852075) 83.36829243730189 iter/sec (stddev: 0.0002663874561974418) 2.32
tests/python/benchmarks/test_ops.py::test_perf_ckks_plain_ops[16384-ckks_test-dot] 2.2917945764965704 iter/sec (stddev: 0.007372396932178946) 7.074477667260532 iter/sec (stddev: 0.0016829947549905843) 3.09
tests/python/benchmarks/test_ops.py::test_perf_ckks_matmul[matrix_shape0] 18.525670799720878 iter/sec (stddev: 0.001180147587366401) 48.484223185286986 iter/sec (stddev: 0.0004921942518768366) 2.62
tests/python/benchmarks/test_ops.py::test_perf_ckks_matmul[matrix_shape1] 11.621186147508933 iter/sec (stddev: 0.000975657275650951) 32.91084800131516 iter/sec (stddev: 0.00027431728904677707) 2.83
tests/python/benchmarks/test_ops.py::test_perf_ckks_matmul[matrix_shape2] 6.861570867998854 iter/sec (stddev: 0.0014896443680862139) 19.731466578743333 iter/sec (stddev: 0.0002013306067131663) 2.88
tests/python/benchmarks/test_ops.py::test_perf_ckks_matmul[matrix_shape3] 3.424511593759372 iter/sec (stddev: 0.0010224289295248008) 9.94861599530103 iter/sec (stddev: 0.0007295116361508427) 2.91
tests/python/benchmarks/test_ops.py::test_perf_ckks_enc_matmul[matrix_shape0] 153.25571850729025 iter/sec (stddev: 0.00007496612548606452) 432.03636018013816 iter/sec (stddev: 0.0001677966176649965) 2.82
tests/python/benchmarks/test_ops.py::test_perf_ckks_enc_matmul[matrix_shape1] 65.88854057276585 iter/sec (stddev: 0.0002508913107908923) 208.29948466710317 iter/sec (stddev: 0.000016762793623144327) 3.16
tests/python/benchmarks/test_ops.py::test_perf_ckks_enc_matmul[matrix_shape2] 17.677084703679142 iter/sec (stddev: 0.0009375536854381834) 53.22285120987794 iter/sec (stddev: 0.0007280449999275398) 3.01
tests/python/benchmarks/test_ops.py::test_perf_ckks_enc_matmul[matrix_shape3] 25.693563048172603 iter/sec (stddev: 0.0006437870691630612) 77.41376107017743 iter/sec (stddev: 0.00023593112586198876) 3.01
tests/python/benchmarks/test_ops.py::test_perf_ckks_im2col_encoding[image_shape0] 57.3745322254233 iter/sec (stddev: 0.00008838527156892142) 127.9748063677158 iter/sec (stddev: 0.00006960233056570102) 2.23
tests/python/benchmarks/test_ops.py::test_perf_ckks_im2col_encoding[image_shape1] 54.757321574097645 iter/sec (stddev: 0.00014133125669867116) 113.09180091227941 iter/sec (stddev: 0.0003309237946742113) 2.07
tests/python/benchmarks/test_ops.py::test_perf_ckks_conv_eval[image_shape0] 4.108595132535819 iter/sec (stddev: 0.0007373137161839973) 12.182044378018109 iter/sec (stddev: 0.001939296020022342) 2.97
tests/python/benchmarks/test_ops.py::test_perf_ckks_conv_eval[image_shape1] 4.077554532663782 iter/sec (stddev: 0.004295371390649829) 12.198839621977495 iter/sec (stddev: 0.001237116164735448) 2.99
tests/python/benchmarks/test_ops.py::test_perf_ckks_conv_eval[image_shape2] 4.111459597512988 iter/sec (stddev: 0.0008537961680180414) 12.155723472558593 iter/sec (stddev: 0.0010914083849916) 2.96

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.