Welcome to the tutorial on the Cinnamon Framework for scale out encrypted AI.
This notebook covers the basiscs of writing and running two simple encryted programs in the Cinnamon framework.
Notebook2: This notebook covers implementing an encrypted logistic regression inference. in the Cinnamon framework.
Notebook3: This notebook covers implementing an encrypted MNIST inference in the Cinnamon framework. It covers the novel parallelization features of the Cinnamon compiler and using the Cinnamon accelerator simulator to test programs.
- OS: Linux, MacOS or WSL on Windows
- Software Requirements: Docker, git
- Recommended: Visual Studio Code. DevContainersExtension
docker pull sidjay10/cinnamon_tutorial:latest
Open the repository in a VSCode workspace and load the devcontainer environment.
git clone https://github.com/CMU-CAOS/CinnamonTutorial
cd CinnamonTutorial
- Open VSCode
- Hit F1
- Search for Dev Containers: Open Folder in Container

- Select the folder CinnamonTutorial
- Open notebook1
- Click on select kernel

- Install the jupyter and python extensions when prompted

- Select Python Environments

- Select the Python3.10.12 kernel when prompted

Run the tutorial on your browser.
git clone https://github.com/CMU-CAOS/CinnamonTutorial
cd CinnamonTutorial
docker run --rm --name "cinnamon_tutorial_container" -v $(pwd):/CinnamonTutorial sidjay10/cinnamon_tutorial:latest jupyter notebook /CinnamonTutorial --allow-root --no-browser --ip=0.0.0.0
- Look for the jupyter url of the form :
http://127.0.0.1:8888/tree?token=<token>in the server log. - Copy and paste your url, along with the token in your browser window.