Files
intel-linux-sgx/external/dnnl
Zhang Lili 6bb988fd7c Linux 2.15 Open Source Gold Release
Upgraded Intel(R) Integrated Performance Primitives Cryptography library to version 2021 update 3.
Upgraded Intel(R) SGX Architecture Enclaves based on new IPP crypto library.
Added software prevention of fault injection attacks.
Upgraded to GNU Binutils 2.36.1. Stopped providing ld.gold (developers should use ld instead).
Supported Google Protobuf C++.
Enabled C++14 within SGX SDK.
Added SM2/3/4 Samples.
Fixed bugs.

Signed-off-by: Zhang Lili <lili.z.zhang@intel.com>
2021-09-30 00:32:18 +00:00
..
2020-07-07 08:42:08 +08:00
2021-09-30 00:32:18 +00:00
2020-01-16 09:56:26 +08:00

The Intel(R) Software Guard Extensions (Intel(R) SGX) Deep Neural Network Library (DNNL) is based on Intel(R) DNNL v1.1.1 (https://github.com/intel/mkl-dnn/tree/v1.1.1).

Build Intel(R) SGX DNNL
1.Enter: linux-trunk/external/dnnl
2.Execute: make

Install Intel(R) SGX DNNL lib and header files:
1.Copy Intel(R) SGX DNNL lib to the Intel(R) SGX SDK installation directory.
  For example:
  $ cp "./sgx_dnnl/lib/libsgx_dnnl.a" "$(SGX_SDK)/lib64"
2.Copy Intel(R) SGX DNNL header files to the Intel(R) SGX SDK header file directory.
  For example:
  $ cp "./sgx_dnnl/include/*" "$(SGX_SDK)/include"

Do the following to enable Intel(R) SGX DNNL in Intel(R) SGX:
1. Add "-lsgx_dnnl -lsgx_omp -lsgx_pthread" into enclave linking options in the Makefile.
   For example:
   Enclave_Link_Flags := $(SGX_COMMON_CFLAGS) -Wl,--no-undefined -nostdlib -nodefaultlibs -nostartfiles -L$(SGX_LIBRARY_PATH) \
	-Wl,--whole-archive -l$(Trts_Library_Name) -Wl,--no-whole-archive \
	-Wl,--start-group -lsgx_tstdc -lsgx_tcxx -lsgx_dnnl -lsgx_omp -lsgx_pthread -l$(Crypto_Library_Name) -l$(Service_Library_Name) -Wl,--end-group \
	-Wl,-Bstatic -Wl,-Bsymbolic -Wl,--no-undefined \
	-Wl,-pie,-eenclave_entry -Wl,--export-dynamic  \
	-Wl,--defsym,__ImageBase=0 \
	-Wl,--version-script=Enclave/Enclave.lds