Skip to content
hpca-ujiPublic

About

Troy - GPU-Accelerated Homomorphic Encryption

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

90 Commits

Folders and files

Repository files navigation

Troy - GPU-Accelerated Homomorphic Encryption

Overview

This repository contains the modified version of Troy used in our work on GPU-accelerated homomorphic encryption inference.

The implementation is based on the original Troy library, a CUDA-based homomorphic encryption library supporting the BFV, BGV, and CKKS schemes. Troy follows the design and interfaces of Microsoft SEAL and provides GPU implementations of the main homomorphic encryption operations.

Our version extends Troy with CUDA kernels and functionality required by our GPU-accelerated tensor operations and neural network inference implementation.

Main modifications

The main additions in this repository include:

  • CUDA kernels for CKKS tensor-level homomorphic encryption operations.
  • Parallel processing across multiple ciphertexts and polynomial coefficients.
  • GPU kernels supporting convolution, pooling and fully connected, square activation layers.
  • Optimized ciphertext-plaintext relinearization and rescaling for neural network tensors.
  • Integration with our modified TenSEAL implementation for GPU-accelerated encrypted inference.

These modifications are designed to reduce the overhead associated with processing tensor operations as sequences of independent homomorphic encryption operations and to expose additional parallelism to the GPU.

Repository structure

  • src contains the implementation of the Troy library and our CUDA extensions.
  • test contains tests and performance evaluation code.
  • extern contains third-party libraries, including GoogleTest and pybind11.
  • binder contains the pybind11 bindings used to expose the C/C++/CUDA interfaces to Python.
  • app contains higher-level implementations for operations such as matrix multiplication and 2D convolution.

Build

To build the library:

mkdir build
cd build
cmake .. -DTROY_TEST=ON
make
cd ..

About

Troy - GPU-Accelerated Homomorphic Encryption

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages