Files
concrete/docs/dev/api/concrete.fhe.compilation.compiler.md
2025-04-30 10:20:28 +01:00

4.2 KiB

module concrete.fhe.compilation.compiler

Declaration of Compiler class.


class Compiler

Compiler class, to glue the compilation pipeline.

method __init__

__init__(
    function: Callable,
    parameter_encryption_statuses: dict[str, Union[str, EncryptionStatus]],
    composition: Optional[NotComposable, AllComposable] = None
)

method assemble

assemble(
    function: Callable,
    parameter_values: dict[str, ValueDescription],
    configuration: Optional[Configuration] = None,
    artifacts: Optional[DebugArtifacts] = None,
    **kwargs
)  Circuit

Assemble a circuit from the raw parameter values, used in direct circuit definition.

Args: function (Callable): function to convert to a circuit

parameter_values (Dict[str, ValueDescription]): parameter values of the function

configuration(Optional[Configuration], default = None): configuration to use

artifacts (Optional[DebugArtifacts], default = None): artifacts to store information about the process

kwargs (Dict[str, Any]): configuration options to overwrite

Returns: Circuit: assembled circuit


method compile

compile(
    inputset: Optional[Iterable[Any], Iterable[tuple[Any, ]]] = None,
    configuration: Optional[Configuration] = None,
    artifacts: Optional[DebugArtifacts] = None,
    **kwargs
)  Circuit

Compile the function using an inputset.

Args: inputset (Optional[Union[Iterable[Any], Iterable[Tuple[Any, ...]]]]): optional inputset to extend accumulated inputset before bounds measurement

configuration(Optional[Configuration], default = None): configuration to use

artifacts (Optional[DebugArtifacts], default = None): artifacts to store information about the process

kwargs (Dict[str, Any]): configuration options to overwrite

Returns: Circuit: compiled circuit


method reset

reset()

Reset the compiler so that another compilation with another inputset can be performed.


method trace

trace(
    inputset: Optional[Iterable[Any], Iterable[tuple[Any, ]]] = None,
    configuration: Optional[Configuration] = None,
    artifacts: Optional[DebugArtifacts] = None,
    **kwargs
)  Graph

Trace the function using an inputset.

Args: inputset (Optional[Union[Iterable[Any], Iterable[Tuple[Any, ...]]]]): optional inputset to extend accumulated inputset before bounds measurement

configuration(Optional[Configuration], default = None): configuration to use

artifacts (Optional[DebugArtifacts], default = None): artifacts to store information about the process

kwargs (Dict[str, Any]): configuration options to overwrite

Returns: Graph: computation graph representing the function prior to MLIR conversion