Apache Teaclave (incubating) 0.3.0
Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.
This is the third official Apache Incubator release. In this release, we focus more on bringing WebAssembly into Teaclave. Now, you can run functions written in different languages in Teaclave with the WebAssembly executor. Specifically, we modify WebAssembly Micro Runtime and add it as a new executor in Teaclave.
To illustrate the capability of the executor, we also support WebAssembly machine learning models compiled by Apache TVM. Apache TVM is an open source machine learning compiler framework for CPUs, GPUs, and machine learning accelerators. TVM also supports WebAssembly runtime backend. We also introduce a new MNIST inference example to show the usage of the new executor with TVM.
Here is a list of notable changes in Teaclave version 0.3.0.
Features
- Add the WebAssembly executor to support functions written in other languages.
- Examples of running C and Rust with the WebAssembly executor.
- Support inference tasks with models compiled by TVM.
- Add the MNIST inference example to demonstrate the ability of using TVM in Teaclave.
Enhancements
- Add the script to simplify developing with editors with Rust's Language Server Protocol support.
- Upgrade SGX SDK dependencies, i.e., Intel SGX SDK to version 2.14.100.2, DCAP to version 1.11.100.2.
Bug Fixes
- Update the SGX SDK used in the runtime dockerfile.
- Fix Python.h not found when compiling acs_py_enclave.c.
- Fix building system messed up by untracked Cargo.lock files.
- Fix dcap building issue.
Docs
- Add instructions to configure URLs of input/output files in examples.
- Executing WebAssembly in Teaclave: https://teaclave.apache.org/docs/executing-wasm/.
- Inferencing with TVM in Teaclave: https://teaclave.apache.org/docs/inference-with-tvm/.