spu  by secretflow

Secure Processing Unit for privacy-preserving computation

created 3 years ago
294 stars

Top 90.9% on sourcepulse

GitHubView on GitHub
Project Summary

SPU (Secure Processing Unit) provides a provable and measurable secure computation device for privacy-preserving machine learning. It acts as a programmable backend for frameworks like SecretFlow, evaluating XLA-like tensor operations using MPC for data protection.

How It Works

SPU utilizes a secure runtime that processes XLA-like tensor operations. The core evaluation engine employs Multi-Party Computation (MPC) to ensure data privacy during computation. This approach allows for secure computation while keeping sensitive information protected.

Quick Start & Requirements

  • Installation: Follow the Installation Guidelines.
  • Supported Platforms: Linux x86_64, Linux aarch64, macOS Apple Silicon, Windows WSL2 (x64). CPU support is available on Linux and macOS. NVIDIA GPU support is experimental on Linux x86_64 and Windows WSL2.
  • Hardware Requirements: AVX2/ARMv8 for general features, AVX2/ARMv8 for FourQ based PSI, and CUDA 11.8+ for GPU acceleration.
  • Note: The distributed module is not recommended for production use.

Highlighted Details

  • Provable and measurable security guarantees.
  • Evaluates XLA-like tensor operations using MPC.
  • Cited in USENIX ATC'23 and ICML'24 for privacy-preserving machine learning research.
  • Experimental NVIDIA GPU support available.

Maintenance & Community

  • Contributions are welcomed via contribution guidelines.
  • Research development guidelines are available from @fionser.
  • Acknowledgements include Alibaba Gemini Lab and VUL337@NISL@THU.

Licensing & Compatibility

  • The license is not explicitly stated in the README.

Limitations & Caveats

  • The simple distributed module is not designed for production due to security and performance concerns.
  • macOS x64 prebuilt binaries are no longer available due to CI resource limitations.
  • NVIDIA GPU support is experimental.
Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
20
Issues (30d)
9
Star History
9 stars in the last 90 days

Explore Similar Projects

Starred by Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), Stas Bekman Stas Bekman(Author of Machine Learning Engineering Open Book; Research Engineer at Snowflake), and
2 more.

gpustack by gpustack

1.6%
3k
GPU cluster manager for AI model deployment
created 1 year ago
updated 2 days ago
Feedback? Help us improve.