Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SPU: Secure Processing Unit

CircleCI Python PyPI version OpenSSF Scorecard OpenSSF Best Practices

SPU (Secure Processing Unit) aims to be a provable, measurable secure computation device, which provides computation ability while keeping your private data protected.

SPU could be treated as a programmable device, it's not designed to be used directly. Normally we use SecretFlow framework, which use SPU as the underline secure computing device.

Currently, we mainly focus on provable security. It contains a secure runtime that evaluates XLA-like tensor operations, which use MPC as the underline evaluation engine to protect privacy information.

SPU python package also contains a simple distributed module to demo SPU usage, but it's NOT designed for production due to system security and performance concerns, please DO NOT use it directly in production.

Contribution Guidelines

If you would like to contribute to SPU, please check Contribution guidelines.

This documentation also contains instructions for build and testing.

Installation Guidelines

Supported platforms

Linux x86_64 Linux aarch64 macOS x64 macOS Apple Silicon Windows x64 Windows WSL2 x64
CPU yes yes yes1 yes no yes
NVIDIA GPU experimental no no n/a no experimental
  1. Due to CI resource limitation, macOS x64 prebuild binary will no longer available since next release (0.9.x).

Instructions

Please follow Installation Guidelines to install SPU.

Hardware Requirements

General Features FourQ based PSI GPU
AVX/ARMv8 AVX2/ARMv8 CUDA 11.8+

Citing SPU

If you think SPU is helpful for your research or development, please consider citing our paper:

@inproceedings {spu,
    author = {Junming Ma and Yancheng Zheng and Jun Feng and Derun Zhao and Haoqi Wu and Wenjing Fang and Jin Tan and Chaofan Yu and Benyu Zhang and Lei Wang},
    title = {{SecretFlow-SPU}: A Performant and {User-Friendly} Framework for {Privacy-Preserving} Machine Learning},
    booktitle = {2023 USENIX Annual Technical Conference (USENIX ATC 23)},
    year = {2023},
    isbn = {978-1-939133-35-9},
    address = {Boston, MA},
    pages = {17--33},
    url = {https://www.usenix.org/conference/atc23/presentation/ma},
    publisher = {USENIX Association},
    month = jul,
}

Acknowledgement

We thank the significant contributions made by Alibaba Gemini Lab.

Metadata

Release files for spu 0.8.0.dev20240306

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for spu 0.8.0.dev20240306
File
spu-0.8.0.dev20240306-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
spu-0.8.0.dev20240306-cp311-cp311-manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
spu-0.8.0.dev20240306-cp311-cp311-macosx_12_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 12.0+ x86-64 Details
spu-0.8.0.dev20240306-cp311-cp311-macosx_12_0_arm64.whl CPython 3.11 CPython 3.11 macOS 12.0+ ARM64 Details
spu-0.8.0.dev20240306-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
spu-0.8.0.dev20240306-cp310-cp310-manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
spu-0.8.0.dev20240306-cp310-cp310-macosx_12_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 12.0+ x86-64 Details
spu-0.8.0.dev20240306-cp310-cp310-macosx_12_0_arm64.whl CPython 3.10 CPython 3.10 macOS 12.0+ ARM64 Details
spu-0.8.0.dev20240306-cp39-cp39-manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64 Details
spu-0.8.0.dev20240306-cp39-cp39-manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
spu-0.8.0.dev20240306-cp39-cp39-macosx_12_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 12.0+ x86-64 Details
spu-0.8.0.dev20240306-cp39-cp39-macosx_12_0_arm64.whl CPython 3.9 CPython 3.9 macOS 12.0+ ARM64 Details

Total release size: 429.2 MB

Release files / spu-0.8.0.dev20240306-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL spu-0.8.0.dev20240306-cp311-cp311-manylinux_2_28_aarch64.whl
Size 36.0 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
27765f47602c6d7e1b772f1e1a2d154fc37a096c9ecc5fa780ff1ded47ed33ba
BLAKE2b-256 checksum
How to use checksums
9a0684d8d65350ac94fbc19192660162bce664ca8aaeab98a144d724726d3ab6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release files / spu-0.8.0.dev20240306-cp311-cp311-manylinux2014_x86_64.whl

Download URL spu-0.8.0.dev20240306-cp311-cp311-manylinux2014_x86_64.whl
Size 36.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9f031cdf05372df0e02c408c18ad91145b20a8abbfc55b4a47541b5b7f4da462
BLAKE2b-256 checksum
How to use checksums
d0d5060a6b9cfbe2c7d3d1f0c1aafdfbda662d8e0137431380e8ab3da765f0b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release files / spu-0.8.0.dev20240306-cp311-cp311-macosx_12_0_x86_64.whl

Download URL spu-0.8.0.dev20240306-cp311-cp311-macosx_12_0_x86_64.whl
Size 36.6 MB
Tags CPython 3.11 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
97e0d41be2c51d66c8d30b03382e5e43fda3d938fef6a005592c22f58fc5f01b
BLAKE2b-256 checksum
How to use checksums
a3c96c2a3e4fd00a172640d243647433123472ce3c961173cff86d9b5a3b33e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release files / spu-0.8.0.dev20240306-cp311-cp311-macosx_12_0_arm64.whl

Download URL spu-0.8.0.dev20240306-cp311-cp311-macosx_12_0_arm64.whl
Size 33.6 MB
Tags CPython 3.11 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
e14440d72d4b1bbf6ec441f321cbd0eb6f012f71f8245e0d7eac665b74f556ec
BLAKE2b-256 checksum
How to use checksums
fbf13cca4857a42d9b291d6d051ca26b9156aa7b3c090bc7cb288fc7f9c2a7c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Release files / spu-0.8.0.dev20240306-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL spu-0.8.0.dev20240306-cp310-cp310-manylinux_2_28_aarch64.whl
Size 36.0 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
30c2983b9122a1bf0ae553f01424d4bcfe7d21c5803670fd0881750b67f7ea6d
BLAKE2b-256 checksum
How to use checksums
18a0681f08678c6d8f1eec265d61be69980a4327cafa4e88878962916c561973
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13

Release files / spu-0.8.0.dev20240306-cp310-cp310-manylinux2014_x86_64.whl

Download URL spu-0.8.0.dev20240306-cp310-cp310-manylinux2014_x86_64.whl
Size 36.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e15d5bfd0eeccd23ac7635bb8b2e25801588dcb4149500c668434e3a09747846
BLAKE2b-256 checksum
How to use checksums
14acf251f1c9d68fb531539a912ee6f7b590452eea2d1c94ca637203fbea945b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13

Release files / spu-0.8.0.dev20240306-cp310-cp310-macosx_12_0_x86_64.whl

Download URL spu-0.8.0.dev20240306-cp310-cp310-macosx_12_0_x86_64.whl
Size 36.6 MB
Tags CPython 3.10 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
42bf4e4482c5597a9ba29c5ad233abfc4dad5fa350185e42680540dd5c547ba8
BLAKE2b-256 checksum
How to use checksums
86b5a3f790ead697518f0dfeda9d3843c9bfe5bc15cbc7e9f58f9a53a970a7ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13

Release files / spu-0.8.0.dev20240306-cp310-cp310-macosx_12_0_arm64.whl

Download URL spu-0.8.0.dev20240306-cp310-cp310-macosx_12_0_arm64.whl
Size 33.6 MB
Tags CPython 3.10 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
1590684eb07c9270177c3e894c758936da29ea7dd7941b70b9386a222a3ce13e
BLAKE2b-256 checksum
How to use checksums
e813371e666114a295bfddea1020e0a4955594e287d0856710ed15af579a0150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.13

Release files / spu-0.8.0.dev20240306-cp39-cp39-manylinux_2_28_aarch64.whl

Download URL spu-0.8.0.dev20240306-cp39-cp39-manylinux_2_28_aarch64.whl
Size 36.0 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3e86292112348cf669c84aca5b4d2e1835e86b1f5897193c1387e5d80443dbe9
BLAKE2b-256 checksum
How to use checksums
77c89c9bdbab43c2591c1351b3d3dc180ba0597ade8e0b41d37aab9da97c4308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / spu-0.8.0.dev20240306-cp39-cp39-manylinux2014_x86_64.whl

Download URL spu-0.8.0.dev20240306-cp39-cp39-manylinux2014_x86_64.whl
Size 36.9 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3594845874deeb8b89354645f7fa73151e0234cd8c4a4cdc77e1e2a20ccb7687
BLAKE2b-256 checksum
How to use checksums
3617799c978c164f3ca4a21d501010e5caf77ca770c4d5488fa109359d7160a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / spu-0.8.0.dev20240306-cp39-cp39-macosx_12_0_x86_64.whl

Download URL spu-0.8.0.dev20240306-cp39-cp39-macosx_12_0_x86_64.whl
Size 36.6 MB
Tags CPython 3.9 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
62f3201351984e48f869140ad268f293784953854762ba1fdb2e4dce71b0645a
BLAKE2b-256 checksum
How to use checksums
a840e28835a68a0b80efc5531beb3368c55993e206565c7e0d23db0888f76f1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release files / spu-0.8.0.dev20240306-cp39-cp39-macosx_12_0_arm64.whl

Download URL spu-0.8.0.dev20240306-cp39-cp39-macosx_12_0_arm64.whl
Size 33.6 MB
Tags CPython 3.9 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
e9d467af0986673de48dd282280be1e61b3e6bd877187d7fcdb93cdbfc5e13b5
BLAKE2b-256 checksum
How to use checksums
01a9076d6c42d6267eafad3de7ca96fbe0c4588a33ba38979d8274b02c70aedd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.18

Release history Release notifications | RSS feed

0.9.5

6 release files

0.9.4

6 release files

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page