.. | ||
bash | ||
benchmarks | ||
bigdl-llm | ||
cluster_serving | ||
deployment | ||
embedded_mode | ||
enclave_tls | ||
fish | ||
flink | ||
font/font_support_for_java | ||
gdb_support | ||
golang | ||
grpc | ||
hello_bazel | ||
hello_c | ||
hello_cc | ||
https_server | ||
java | ||
linux-ltp | ||
local_attestation | ||
mysql | ||
netty_ut | ||
openvino | ||
paddlepaddle | ||
python | ||
pytorch | ||
redis | ||
remote_attestation | ||
runtime_boot | ||
rust | ||
sofaboot | ||
sqlite | ||
swtpm | ||
tensorflow | ||
tensorflow_lite | ||
xgboost | ||
README.md |
Demos
This directory contains sample projects that demonstrate how Occlum can be used to build and run user applications.
Toolchain demos
This set of demos shows how the Occlum toolchain can be used with different build tools.
- hello_c: A sample C project built with Makefile/CMake.
- hello_cc: A sample C++ project built with Makefile/CMake.
- hello_bazel: A sample C++ project built with Bazel.
Application demos
This set of demos shows how real-world apps can be easily run inside SGX enclaves with Occlum.
- bash: A demo of Bash shell script.
- cluster_serving: A demo of Analytics Zoo Cluster Serving inference solution.
- fish: A demo of FISH shell script.
- flink: A demo of Apache Flink.
- font: A demo of supporting font with Java.
- grpc: A client and server communicating through gRPC, containing glibc-supported demo and musl-supported demo.
- https_server: A HTTPS file server based on Mongoose Embedded Web Server Library.
- mysql: A demo of MySQL.
- openvino A benchmark of OpenVINO Inference Engine.
- pytorch: Demos of standalone and distributed PyTorch.
- paddlepaddle: A demo of PaddlePaddle.
- redis: A demo of Redis.
- sofaboot: A demo of SOFABoot, an open source Java development framework based on Spring Boot.
- sqlite A demo of SQLite SQL database engine.
- swtpm A demo of SWTPM Software Trusted Platform Module (TPM) Emulator.
- tensorflow: A demo of TensorFlow MNIST classification training.
- tensorflow_lite: A demo and benchmark of TensorFlow Lite inference engine.
- tensorflow_serving: A demo of TensorFlow Serving
- vault: A demo of HashiCorp Vault.
- xgboost: A demo of XGBoost.
Benchmark demos
This set of demos shows how commonly used benchmarking tools can be run inside SGX enclaves with Occlum.
- fio: A demo of Flexible I/O Tester.
- iperf2: A demo of Iperf2, a tool for measuring Internet bandwidth performance.
- iperf3: A demo of Iperf3, a tool for measuring Internet bandwidth performance.
- sysbench: A demo of Sysbench, a scriptable multi-threaded benchmark tool for Linux.
Programming language demos
This set of demos shows how apps written with popular programming languages can be run inside SGX enclaves with Occlum.
- golang: A collection of Golang program demos.
- java: A demo of Java program.
- python A collection of Python program demos, contain glibc-supported python demo and musl-supported python demo.
- rust A demo of Rust program.
Other demos
- embedded_mode: A cross-enclave memory throughput benchmark enabled by the embedded mode of Occlum.
- enclave_tls: Running TLS server inside Occlum. Client connects with server associate with Enclave-RA information.
- gdb_support: This demo explains the technical detail of GDB support and demonstrates how to debug an app running upon Occlum with GDB.
- local_attestation: This project demonstrates how an app running upon Occlum can perform SGX local attestation.
- remote_attestation: This project demonstrates how an app running upon Occlum can perform SGX remote attestation.