8.9 KiB
module concrete.fhe.compilation.server
Declaration of Server class.
Global Variables
- DEFAULT_GLOBAL_P_ERROR
- DEFAULT_P_ERROR
class Server
Server class, which can be used to perform homomorphic computation.
method __init__
__init__(
client_specs: ClientSpecs,
output_dir: Optional[TemporaryDirectory],
support: LibrarySupport,
compilation_result: LibraryCompilationResult,
server_lambda: LibraryLambda,
is_simulated: bool
)
property clear_addition_count
Get the number of clear additions in the compiled program.
property clear_addition_count_per_parameter
Get the number of clear additions per parameter in the compiled program.
property clear_addition_count_per_tag
Get the number of clear additions per tag in the compiled program.
property clear_addition_count_per_tag_per_parameter
Get the number of clear additions per tag per parameter in the compiled program.
property clear_multiplication_count
Get the number of clear multiplications in the compiled program.
property clear_multiplication_count_per_parameter
Get the number of clear multiplications per parameter in the compiled program.
property clear_multiplication_count_per_tag
Get the number of clear multiplications per tag in the compiled program.
property clear_multiplication_count_per_tag_per_parameter
Get the number of clear multiplications per tag per parameter in the compiled program.
property complexity
Get complexity of the compiled program.
property encrypted_addition_count
Get the number of encrypted additions in the compiled program.
property encrypted_addition_count_per_parameter
Get the number of encrypted additions per parameter in the compiled program.
property encrypted_addition_count_per_tag
Get the number of encrypted additions per tag in the compiled program.
property encrypted_addition_count_per_tag_per_parameter
Get the number of encrypted additions per tag per parameter in the compiled program.
property encrypted_negation_count
Get the number of encrypted negations in the compiled program.
property encrypted_negation_count_per_parameter
Get the number of encrypted negations per parameter in the compiled program.
property encrypted_negation_count_per_tag
Get the number of encrypted negations per tag in the compiled program.
property encrypted_negation_count_per_tag_per_parameter
Get the number of encrypted negations per tag per parameter in the compiled program.
property global_p_error
Get the probability of having at least one simple TLU error during the entire execution.
property key_switch_count
Get the number of key switches in the compiled program.
property key_switch_count_per_parameter
Get the number of key switches per parameter in the compiled program.
property key_switch_count_per_tag
Get the number of key switches per tag in the compiled program.
property key_switch_count_per_tag_per_parameter
Get the number of key switches per tag per parameter in the compiled program.
property p_error
Get the probability of error for each simple TLU (on a scalar).
property packing_key_switch_count
Get the number of packing key switches in the compiled program.
property packing_key_switch_count_per_parameter
Get the number of packing key switches per parameter in the compiled program.
property packing_key_switch_count_per_tag
Get the number of packing key switches per tag in the compiled program.
property packing_key_switch_count_per_tag_per_parameter
Get the number of packing key switches per tag per parameter in the compiled program.
property programmable_bootstrap_count
Get the number of programmable bootstraps in the compiled program.
property programmable_bootstrap_count_per_parameter
Get the number of programmable bootstraps per parameter in the compiled program.
property programmable_bootstrap_count_per_tag
Get the number of programmable bootstraps per tag in the compiled program.
property programmable_bootstrap_count_per_tag_per_parameter
Get the number of programmable bootstraps per tag per parameter in the compiled program.
property size_of_bootstrap_keys
Get size of the bootstrap keys of the compiled program.
property size_of_inputs
Get size of the inputs of the compiled program.
property size_of_keyswitch_keys
Get size of the key switch keys of the compiled program.
property size_of_outputs
Get size of the outputs of the compiled program.
property size_of_secret_keys
Get size of the secret keys of the compiled program.
property statistics
Get all statistics of the compiled program.
method cleanup
cleanup()
Cleanup the temporary library output directory.
method create
create(
mlir: Union[str, Module],
configuration: Configuration,
is_simulated: bool = False,
compilation_context: Optional[CompilationContext] = None
) → Server
Create a server using MLIR and output sign information.
Args: mlir (MlirModule): mlir to compile
is_simulated (bool, default = False): whether to compile in simulation mode or not
configuration (Optional[Configuration]): configuration to use
compilation_context (CompilationContext): context to use for the Compiler
method load
load(path: Union[str, Path]) → Server
Load the server from the given path in zip format.
Args: path (Union[str, Path]): path to load the server from
Returns: Server: server loaded from the filesystem
method run
run(
*args: Optional[Value, Tuple[Optional[Value], ]],
evaluation_keys: Optional[EvaluationKeys] = None
) → Union[Value, Tuple[Value, ]]
Evaluate.
Args: *args (Optional[Union[Value, Tuple[Optional[Value], ...]]]): argument(s) for evaluation
evaluation_keys (Optional[EvaluationKeys], default = None): evaluation keys required for fhe execution
Returns: Union[Value, Tuple[Value, ...]]: result(s) of evaluation
method save
save(path: Union[str, Path], via_mlir: bool = False)
Save the server into the given path in zip format.
Args: path (Union[str, Path]): path to save the server
via_mlir (bool, default = False): export using the MLIR code of the program, this will make the export cross-platform