diff --git a/.github/workflows/github-ci.yml b/.github/workflows/github-ci.yml index ea4b7955..c8de42fa 100644 --- a/.github/workflows/github-ci.yml +++ b/.github/workflows/github-ci.yml @@ -24,7 +24,7 @@ on: # Define env vars # ################### env: - HEXL_VER: 1.2.3 + HEXL_VER: 1.2.4 HEXL_DIR: ${GITHUB_WORKSPACE}/lib/cmake/hexl-${HEXL_VER} HEXL_HINT_DIR: > -DHEXL_HINT_DIR=${GITHUB_WORKSPACE}/lib/cmake/hexl-${HEXL_VER} @@ -99,7 +99,8 @@ jobs: shell: bash strategy: matrix: - os: [ice-lake, [self-hosted, ubuntu-18.04], macos-latest, ubuntu-20.04] + # os: [ice-lake, [self-hosted, ubuntu-18.04], macos-latest, ubuntu-20.04] + os: [ice-lake, macos-latest, ubuntu-20.04] build_type: [Release, Debug] shared_lib: [ON, OFF] include: diff --git a/CHANGES.md b/CHANGES.md index b0991897..5112547e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,12 @@ # Changes +## Version 1.2.4 +- Adds experimental HEXL-FPGA compatibility for dyadic multiply and key switch (https://github.com/intel/hexl/pull/109) +- Adds vcpkg example of how to use previous hexl versions (https://github.com/intel/hexl/pull/103) +- Adds benchmarking montgomery multiplication (https://github.com/intel/hexl/pull/94) +- Moves to compiling with minimum C++ 17 +- Updates to documentation + ## Version 1.2.3 - Fix to EltwiseReduceMod on AVX512-DQ processors (https://github.com/intel/hexl/issues/86) - Update minimum CMake version to 3.13 diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a8ae6dd..1cee76b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # target_link_options and cmake -S . -B build require cmake 3.13 cmake_minimum_required(VERSION 3.13) -project(HEXL VERSION 1.2.3 LANGUAGES C CXX) +project(HEXL VERSION 1.2.4 LANGUAGES C CXX) include(CheckCCompilerFlag) include(CheckCXXCompilerFlag) diff --git a/README.md b/README.md index 87f89b95..6925f6c0 100644 --- a/README.md +++ b/README.md @@ -9,29 +9,29 @@ word-sized primes, typically 30-60 bits. Intel HE Acceleration Library provides an API for 64-bit unsigned integers and targets Intel CPUs. For more details on Intel HE Acceleration Library, see our [whitepaper](https://arxiv.org/abs/2103.16400.pdf). For tips on best -performance, see [Performance](#performance) +performance, see [Performance](#performance). ## Contents -- [Intel Homomorphic Encryption (HE) Acceleration Library](#intel-homomorphic-encryption-acceleration-library-hexl) +- [Intel Homomorphic Encryption (HE) Acceleration Library](#intel-homomorphic-encryption-he-acceleration-library) - [Contents](#contents) - [Introduction](#introduction) - - [Building Intel HE Acceleration Library](#building-intel-hexl) + - [Building Intel HE Acceleration Library](#building-intel-he-acceleration-library) - [Dependencies](#dependencies) - [Compile-time options](#compile-time-options) - - [Compiling Intel HE Acceleration Library](#compiling-intel-hexl) + - [Compiling Intel HE Acceleration Library](#compiling-intel-he-acceleration-library) - [Linux and Mac](#linux-and-mac) - [Windows](#windows) - [Performance](#performance) - - [Testing Intel HE Acceleration Library](#testing-intel-hexl) - - [Benchmarking Intel HE Acceleration Library](#benchmarking-intel-hexl) - - [Using Intel HE Acceleration Library](#using-intel-hexl) + - [Testing Intel HE Acceleration Library](#testing-intel-he-acceleration-library) + - [Benchmarking Intel HE Acceleration Library](#benchmarking-intel-he-acceleration-library) + - [Using Intel HE Acceleration Library](#using-intel-he-acceleration-library) - [Debugging](#debugging) - [Threading](#threading) - [Community Adoption](#community-adoption) - [Documentation](#documentation) - [Contributing](#contributing) - [Repository layout](#repository-layout) -- [Citing Intel HE Acceleration Library](#citing-intel-hexl) +- [Citing Intel HE Acceleration Library](#citing-intel-he-acceleration-library) - [Version 1.2](#version-12) - [Version 1.1](#version-11) - [Version 1.0](#version-10) diff --git a/example/README.md b/example/README.md index 91717394..7961a545 100644 --- a/example/README.md +++ b/example/README.md @@ -29,14 +29,14 @@ Once you have installed Intel HE Acceleration Library. Then, in your external application, add the following lines to your `CMakeLists.txt`: ```bash -find_package(HEXL 1.2.3 +find_package(HEXL 1.2.4 HINTS ${HEXL_HINT_DIR} REQUIRED) target_link_libraries( HEXL::hexl) ``` If Intel HE Acceleration Library is installed globally, `HEXL_HINT_DIR` is not needed. Otherwise, `HEXL_HINT_DIR` should be the directory containing -`HEXLConfig.cmake`, e.g. `${CMAKE_INSTALL_PREFIX}/lib/cmake/hexl-1.2.3/` +`HEXLConfig.cmake`, e.g. `${CMAKE_INSTALL_PREFIX}/lib/cmake/hexl-1.2.4/` ## Method 2 (pkgconfig) diff --git a/example/cmake/CMakeLists.txt b/example/cmake/CMakeLists.txt index 4f733758..2be35212 100644 --- a/example/cmake/CMakeLists.txt +++ b/example/cmake/CMakeLists.txt @@ -3,10 +3,10 @@ project(hexl_example LANGUAGES C CXX) cmake_minimum_required(VERSION 3.13) -set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) # Example using source -find_package(HEXL 1.2.3 +find_package(HEXL 1.2.4 HINTS ${HEXL_HINT_DIR} REQUIRED) if (NOT TARGET HEXL::hexl) diff --git a/example/vcpkg/vcpkg.json b/example/vcpkg/vcpkg.json index cf9fbcad..f5fbccd6 100644 --- a/example/vcpkg/vcpkg.json +++ b/example/vcpkg/vcpkg.json @@ -4,7 +4,7 @@ "dependencies": [ { "name": "hexl", - "version>=": "1.2.3" + "version>=": "1.2.4" } ], "builtin-baseline": "7baf7bc9f3390bab2f47e2bcbd35b065663bc80d", diff --git a/port/hexl/portfile.cmake b/port/hexl/portfile.cmake index fd7de119..590b6328 100644 --- a/port/hexl/portfile.cmake +++ b/port/hexl/portfile.cmake @@ -26,7 +26,7 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME "HEXL" CONFIG_PATH "lib/cmake/hexl-1.2.3") +vcpkg_cmake_config_fixup(PACKAGE_NAME "HEXL" CONFIG_PATH "lib/cmake/hexl-1.2.4") vcpkg_fixup_pkgconfig() diff --git a/port/hexl/vcpkg.json b/port/hexl/vcpkg.json index 0b13528b..c7a5d50b 100644 --- a/port/hexl/vcpkg.json +++ b/port/hexl/vcpkg.json @@ -1,6 +1,6 @@ { "name": "hexl", - "version": "1.2.3", + "version": "1.2.4", "description": "IntelĀ® HEXL is an open-source library which provides efficient implementations of integer arithmetic on Galois fields.", "homepage": "https://github.com/intel/hexl", "supports": "x64 & !(windows & !static)",