mirror of
https://github.com/luxfhe/torus.git
synced 2026-10-30 17:07:26 +00:00
Forked from upstream concrete (BSD-3-Clause-Clear, © 2024 ZAMA) at HEAD
ecb729bb. Modifications copyright © 2026 Lux Industries Inc.
Rebranding scope:
- Python module concrete → torus (across frontends/torus-python)
- Rust module concrete-* → torus-* (across frontends/torus-rust)
- MLIR dialect concretelang → toruslang (across compilers/torus-compiler)
- Compiler optimizer concrete-optimizer → torus-optimizer
- Backend concrete-cpu / concrete-cuda → torus-cpu / torus-cuda
- Wire protocol concrete-protocol → torus-protocol
- Parameter-curves concrete-security-curves-* → torus-security-curves-*
- Public symbols concretelib → toruslib, ConcreteLang → TorusLang
- URLs github.com/zama-ai/concrete → github.com/luxfhe/torus
- URLs docs.zama.ai/concrete → docs.luxfhe.com/torus
Legal compliance:
- LICENSE.txt retains original Copyright © 2024 ZAMA verbatim (§1-§2)
- LICENSE.txt adds modifications copyright © 2026 Lux Industries Inc.
- §3 endorsement clause: Torus is marketed exclusively as a Lux product;
no Zama name used in README, docs, or marketing
- NOTICE file provides factual attribution per legal best practice
(not endorsement; required by upstream BSD-3-Clause-Clear)
README + NOTICE rewritten from scratch with Lux brand:
- Quick-start in Python (torus.fhe)
- Architecture diagram showing the gen-1 vtbl integration path
(luxcpp/gpu → lux-private/gpu-kernels for CUDA/Metal/WebGPU)
- Scheme coverage table: TFHE (luxfi/fhe), CKKS/BGV/BFV (luxfi/lattice)
- Lux FHE family table: Torus / TorusVM / TorusEVM / TorusML / TorusNet
Known limitations (phase-2A scope):
- PyPI package torus-fhe not yet published; the torus Python module
is renamed structurally but pip-installable distribution is a
follow-up (Phase 2A.1)
- MLIR dialect rename is text-level; the compiler-internal LLVM
rebuild (concrete-compiler-internal-llvm-project submodule) is
structural and works; tablegen files renamed concrete→torus but the
generated .inc files in the source tree will regenerate at build
time
- backends/torus-cuda/implementation/ is an upstream submodule
pointer to the tfhe-rs source (not fetched in the staging clone);
the CUDA backend body is delivered out-of-tree
- ~100 test-fixture variable names like concrete_encoded_sample
retain "concrete" as a math term (vs symbolic); these are inside
tests/, not the public API; cleanup is a follow-up commit
- 295 Python `from concrete import ...` residuals in luxfhe/ml-sdk
consumer remain; that repo's import update is Phase 2B
This commit is the seed for the luxfhe/torus repo. Push as the first
commit to a fresh GitHub repo; do not re-import upstream Zama git
history.
12 KiB
12 KiB
Compatibility
This document lists the operations you can use inside the function that you are compiling.
{% hint style="info" %} Some operations are not supported between two encrypted values. If attempted, a detailed error message will be raised. {% endhint %}
Supported Python operators.
- __abs__
- __add__
- __and__
- __eq__
- __floordiv__
- __ge__
- __getitem__
- __gt__
- __invert__
- __le__
- __lshift__
- __lt__
- __matmul__
- __mod__
- __mul__
- __ne__
- __neg__
- __or__
- __pos__
- __pow__
- __radd__
- __rand__
- __rfloordiv__
- __rlshift__
- __rmatmul__
- __rmod__
- __rmul__
- __ror__
- __round__
- __rpow__
- __rrshift__
- __rshift__
- __rsub__
- __rtruediv__
- __rxor__
- __sub__
- __truediv__
- __xor__
Supported NumPy functions.
- np.absolute
- np.add
- np.arccos
- np.arccosh
- np.arcsin
- np.arcsinh
- np.arctan
- np.arctan2
- np.arctanh
- np.around
- np.bitwise_and
- np.bitwise_or
- np.bitwise_xor
- np.broadcast_to
- np.cbrt
- np.ceil
- np.clip
- np.concatenate
- np.copysign
- np.cos
- np.cosh
- np.deg2rad
- np.degrees
- np.dot
- np.equal
- np.exp
- np.exp2
- np.expand_dims
- np.expm1
- np.fabs
- np.float_power
- np.floor
- np.floor_divide
- np.fmax
- np.fmin
- np.fmod
- np.gcd
- np.greater
- np.greater_equal
- np.heaviside
- np.hypot
- np.invert
- np.isfinite
- np.isinf
- np.isnan
- np.lcm
- np.ldexp
- np.left_shift
- np.less
- np.less_equal
- np.log
- np.log10
- np.log1p
- np.log2
- np.logaddexp
- np.logaddexp2
- np.logical_and
- np.logical_not
- np.logical_or
- np.logical_xor
- np.matmul
- np.max
- np.maximum
- np.min
- np.minimum
- np.multiply
- np.negative
- np.nextafter
- np.not_equal
- np.ones_like
- np.positive
- np.power
- np.rad2deg
- np.radians
- np.reciprocal
- np.remainder
- np.reshape
- np.right_shift
- np.rint
- np.round
- np.sign
- np.signbit
- np.sin
- np.sinh
- np.spacing
- np.sqrt
- np.square
- np.subtract
- np.sum
- np.tan
- np.tanh
- np.transpose
- np.true_divide
- np.trunc
- np.where
- np.zeros_like
Supported ndarray methods.
- np.ndarray.astype
- np.ndarray.clip
- np.ndarray.dot
- np.ndarray.flatten
- np.ndarray.reshape
- np.ndarray.transpose