We provide instructions to enable the evaluation of the artifact associated with our OOPSLA'25 paper, titled "MetaKernel: Enabling Efficient Encrypted Neural Network Inference Through Unified MVM and Convolution". This paper presents MetaKernel(MKR), a novel composition-based compiler approach that optimizes MVM and Conv kernel operations for DNN models under CKKS within a unified framework.
MKR decomposes each kernel into composable units to enhance SIMD parallelism within ciphertexts (via horizontal batching) and computational parallelism across them (via vertical batching). Our approach addresses previously unaddressed challenges, such as reducing rotation overhead with a rotation-aware cost model for data packing, while ensuring high slot utilization, handling inputs of arbitrary sizes, and maintaining output tensor layout compatibility. MKR is implemented in the open-source ANT-ACE compiler Li et al. CGO'25 with about 3500 lines of C++ code.
In our evaluation, we compared MKR with FHELIPE Krastev et al. PLDI'24, a state-of-the-art FHE compiler using 10 MVM and Conv kernels from real-world DNN models and 5 DNN models: ResNet-20/SqueezeNet/AlexNet/VGG11/MobileNet on both CIFAR-10 and ImageNet. The objective of this artifact evaluation is to reproduce our results, presented in Figures 7-8 and Tables 4-8:
- Table 4: Comparison of MKR and FHELIPE for small Conv Kernels
- Table 5: Comparison of MKR and FHELIPE for large Conv kernels
- Table 6: Comparison of MKR, FHELIPE and BSGS for MVM kernels
- Table 7: Comparison of compile and inference times for DNN models generated by MKR and FHELIPE
- Figure 7: Comparison of MKR and FHELIPE in compile time for MVM and Conv Kernels
- Figure 8: Comparison of MKR and FHELIPE for Conv and MVM contributions to inference time across models
- Table 8: MKR's tensor partitioning and optimal IMRA blocking results for MVM and Conv kernels
Let us begin by noting that performing artifact evaluation for FHE compilation, especially for encrypted inference, is challenging due to the substantial computing resources and significant running times required.
It is important to highlight that FHE remains significantly slower—by up to 10,000×—compared to unencrypted computation, even for relatively small machine learning models. Generating the results shown in Figures 7–8 and Tables 4–8 takes approximately 48 hours.
To support artifact evaluation, we provide detailed instructions, including environment setup and execution guidelines, to ensure that our research findings can be independently verified.
Hardware Setup:
- Intel Xeon Platinum 8369B CPU @ 2.70 GHz
- 512 GB memory
- 100 GB free disk space
Software Requirements:
- x86_64 Linux (64-bit) with Docker enabled
- Detailed in the Dockerfile for Docker container version 25.0.1
- Docker image based on Ubuntu 20.04
Encrypted inference is both compute- and memory-intensive. To perform artifact evaluation for our work, a machine with at least 400 GB of memory is required.
- FHELIPE: Contains the FHELIPE source code, patches, test cases, and related scripts.
- ace-compiler: The source code for the ACE compiler with MKR support and the MKR test cases.
- scripts: Scripts for building and running MKR and FHELIPE tests.
- Dockerfile: Used to build the Docker image for running all tests.
- README.md: This README file.
It is recommended to pull the pre-built Docker image (opencc/ace:oopsla25) from Docker Hub:
cd [YOUR_DIR_TO_DO_AE]
mkdir -p mkr_ae_result
docker pull opencc/ace:oopsla25
docker run -it --name mkr -v "$(pwd)"/mkr_ae_result:/app/mkr_ae_result opencc/ace:oopsla25 bash
A local directory mkr_ae_result is created and mounted into the Docker container to collect the generated figures and tables. The container will launch and automatically enter the /app directory:
root@xxxxxx:/app#
Note: The compressed Docker image is approximately 3 GB and may take several minutes to over an hour to download, depending on your network speed.
It is recommended to run a small script to validate the docker environment at first. This step takes about 4 minutes.
In the /app directory of the container, run:
/app/scripts/run_mini.sh
Once you see the following message, the Docker environment is ready for evaluation:
......
Table chart saved to: /app/mkr_ae_result/mini/Table4.pdf
(Timestamp) - INFO - All figures generated successfully in /app/mkr_ae_result/mini.
All steps completed successfully
In the /app directory of the container, run:
/app/scripts/run_full.sh
This command will perform the following actions:
- Build ACE compiler with MKR
- Apply MKR and FHELIPE to compile and run all MVM and Conv kernels listed in Table 3
- Apply MRK and FHELIPE to compile and run all DNN models listed in Table 7
- Generate all figures and tables in /app/mkr_ae_result inside docker or [YOUR_DIR_TO_DO_AE]/mkr_ae_result on host
Upon successful completion, you will see:
......
Table chart saved to: /app/mkr_ae_result/Table8.pdf
The chart has been saved to: /app/mkr_ae_result/Figure7.pdf
All steps completed successfully
Note 1: For the hardware environment outlined above, it will take approximately 48 hours to complete all the MKR and FHELIPE tests using a single thread.
Note 2: In FHELIPE test, test cases that exceed 20 hours are excluded, including MVM with shape [4096, 25088], MobileNet and all DNN models on ImageNet.
The script will generate results corresponding to the figures and tables presented in the evaluation section of our paper. The output files include: Table4.pdf, Table5.pdf, Table6.pdf, Table7.pdf, Figure7.pdf, Figure8.pdf, and Table8.pdf. For raw data, please refer to the corresponding .log files.
Here is what you can expect from each file:
Note: The appearance of the generated PDF files may vary slightly depending on the hardware environment used.






