Comment on page
Configure
The behavior of Concrete-Numpy can be customized using
Configuration
s:import concrete.numpy as cnp
import numpy as np
configuration = cnp.Configuration(p_error=0.01, loop_parallelize=True)
@cnp.compiler({"x": "encrypted"})
def f(x):
return x + 42
inputset = range(10)
circuit = f.compile(inputset, configuration=configuration)
Alternatively, you can overwrite individual options as kwargs to
compile
method:import concrete.numpy as cnp
import numpy as np
@cnp.compiler({"x": "encrypted"})
def f(x):
return x + 42
inputset = range(10)
circuit = f.compile(inputset, p_error=0.01, loop_parallelize=True)
Or you can combine both:
import concrete.numpy as cnp
import numpy as np
configuration = cnp.Configuration(p_error=0.01)
@cnp.compiler({"x": "encrypted"})
def f(x):
return x + 42
inputset = range(10)
circuit = f.compile(inputset, configuration=configuration, loop_parallelize=True)
Additional kwarg to
compile
function have higher precedence. So if you set an option in both configuration
and in compile
methods, the value in the compile
method will be used.- show_graph: Optional[bool] = None
- Whether to print computation graph during compilation.
True
means always to print,False
means always to not print,None
means print depending on verbose configuration below.
- show_mlir: Optional[bool] = None
- Whether to print MLIR during compilation.
True
means always to print,False
means always to not print,None
means print depending on verbose configuration below.
- show_optimizer: Optional[bool] = None
- Whether to print optimizer output during compilation.
True
means always to print,False
means always to not print,None
means print depending on verbose configuration below.
- verbose: bool = False
- Whether to print details related to compilation.
- dump_artifacts_on_unexpected_failures: bool = True
- Whether to export debugging artifacts automatically on compilation failures.
- auto_adjust_rounders: bool = False
- Whether to adjust rounders automatically.
- p_error: Optional[float] = None
- Error probability for individual table lookups. If set, all table lookups will have the probability of non-exact result smaller than the set value. See Exactness to learn more.
- global_p_error: Optional[float] = None
- Global error probability for the whole circuit. If set, the whole circuit will have the probability of non-exact result smaller than the set value. See Exactness to learn more.
- jit: bool = False
- Whether to use JIT compilation.
- loop_parallelize: bool = True
- Whether to enable loop parallelization in the compiler.
- dataflow_parallelize: bool = False
- Whether to enable dataflow parallelization in the compiler.
- auto_parallelize: bool = False
- Whether to enable auto parallelization in the compiler.
- enable_unsafe_features: bool = False
- Whether to enable unsafe features.
- virtual: bool = False (Unsafe)
- Whether to create a virtual circuit.
- use_insecure_key_cache: bool = False (Unsafe)
- Whether to use the insecure key cache.
- insecure_key_cache_location: Optional[Union[Path, str]] = None
- Location of insecure key cache.
Last modified 9mo ago