ASPLOS 2026 Tutorial
Sunday, March 22 Afternoon
Warhol Room
For participants: Bring a laptop (hopefully with Python 3.10 or higher version installed) for the best tutorial experience!
CrypTorch is an MPC-based ML framework built on top of PyTorch, developed and maintained by the PAWS lab @Penn State. CrypTorch enables you to run your PyTorch-written ML program using multi-party computing (MPC), allowing model training and inference while ensuring the confidentiality of input data and model weights.
🚀 Efficient: Due to its better engineering, CrypTorch is 11.1x faster for ResNet18 inference and 6.4x faster for BERT-Base inference compared to the popular library, CrypTen. If we compare individual operators, CrypTorch is 14.4-96.2x faster for Conv/Linear layers, 5.4x faster for ReLU, and 4.45-7.74x faster for Max/MaxPool.
🧑💻 Pure Python- and PyTorch-based: CrypTorch is implemented entirely in Python (except for its GPU compute kernels), which makes it easier to play with even if you are not a C++ expert. CrypTorch is built on top of PyTorch 2's compiler infrastructure (export IR) and does not introduce a custom frontend/IR.
🧩 Designed to be hacked, extended, and debugged: CrypTorch is a modular, multi-stage compiler, making it easy to experiment with new ideas or swap out components in isolation. Each compilation stage produces an executable graph, so you can incrementally run and test out intermediate graphs—dramatically simplifying debugging and research prototyping.
⚙️ Auto-tuning: CrypTorch provides operator approximation auto-tuning, enabling additional performance by trading off accuracy.
You can find the description of CrypTorch in our arxiv paper here: https://arxiv.org/pdf/2511.19711
In this tutorial, participants will learn:
the fundamentals behind ML with MPC;
overview of CrypTorch;
how to use CrypTorch to run ML models with MPC;
and how to debug accuracy issues, add new ideas, and run auto-tuning with CrypTorch.
We will also go over these steps during the tutorial, but it would be great if you could complete them beforehand
This method requires a GitHub account.
Navigate to https://github.com/psu-paws/CrypTorch
Click on Code -> Create codespace on main and wait, this may take 5-10 min.
You can track the progress through the command palette -> Codespaces: View creation log.
The log will say "Outcome: success User: ...." once the setup is complete.
Note: that this will use some of your personal GitHub Codespace credit. The 1-hour tutorial will use <2% of your monthly free 60-hour allowance.
Ensure you have Python version 3.10 or higher available.
Clone our repo
git clone https://github.com/psu-paws/CrypTorch.git
cd CrypTorch
Create a virtual environment using conda, venv, etc. As an example, we'll list the command for venv below:
python3.12 -m venv .venv
source .venv/bin/activate
Install PyTorch version 2.8.0. Instructions are available on PyTorch's website. We provide the command below for CPU-only installation. Note: Please make sure to install version 2.8.0. Our code currently does not work with PyTorch 2.10.0.
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cpu
Install crypten-plus-plus (modified CrypTen)
pip install -e ./CrypTen
Install cryptorch
pip install -e .
If you have any questions, please reach out to Kiwan Maeng, via kvm6242 [at] psu [dot] edu.