CipherFlowCipherFlow
CipherFlow · demo

Plan explorer

Input: a Transformer written in PyTorch, and a deployment (hardware, bandwidth, round-trip time). Output: CipherFlow's plan — for every operator of the model, whether it runs in homomorphic encryption (HE) or secure multi-party computation (MPC), and where the plan converts between them or refreshes a ciphertext. Every plan shown here was computed by cipherflow.compile on the PyTorch code below.

① Input

Transformer in PyTorch

Model

    

The traced operator graph. Each column is one encoder block (the client's input, ViT's patch projection and its final LayerNorm get their own columns); arcs and cross-column links are residual connections. Hover an operator for where it is in the code and its tensor shapes.
② Profile

Deployment

Hardware

③ Output

CipherFlow plan

HE (H) MPC (M) domain change on an edge ⇄ conversion before this operator ↻ bootstrap before this operator
Reproduce this plan

Operator by operator

Show
Rows are in execution order. Conversions (⇄) and bootstraps (↻) run before the operator in their row, on the output of the operator they name.