# module `concrete.fhe.mlir.converter` Declaration of `Converter` class. **Global Variables** --------------- - **MAXIMUM_TLU_BIT_WIDTH** --- ## class `Converter` Converter class, to convert a computation graph to MLIR. --- ### method `add` ```python add(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `array` ```python array(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `assign_static` ```python assign_static(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `bitwise_and` ```python bitwise_and(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `bitwise_or` ```python bitwise_or(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `bitwise_xor` ```python bitwise_xor(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `broadcast_to` ```python broadcast_to(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `concatenate` ```python concatenate(ctx: Context, node: Node, preds: List[Conversion]) ``` --- ### method `constant` ```python constant(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `conv1d` ```python conv1d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `conv2d` ```python conv2d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `conv3d` ```python conv3d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `convert` ```python convert( graph: Graph, configuration: Configuration, mlir_context: Context ) → Module ``` Convert a computation graph to MLIR. **Args:** graph (Graph): graph to convert configuration (Configuration): configuration to use mlir_context (MlirContext): MLIR Context to use for module generation Return: MlirModule: In-memory MLIR module corresponding to the graph --- ### method `copy` ```python copy(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `dot` ```python dot(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `dynamic_tlu` ```python dynamic_tlu(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `equal` ```python equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `expand_dims` ```python expand_dims(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `extract_bit_pattern` ```python extract_bit_pattern( ctx: Context, node: Node, preds: List[Conversion] ) → Conversion ``` --- ### method `greater` ```python greater(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `greater_equal` ```python greater_equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `index_static` ```python index_static(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `left_shift` ```python left_shift(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `less` ```python less(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `less_equal` ```python less_equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `matmul` ```python matmul(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `maximum` ```python maximum(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `maxpool1d` ```python maxpool1d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `maxpool2d` ```python maxpool2d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `maxpool3d` ```python maxpool3d(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `minimum` ```python minimum(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `multiply` ```python multiply(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `negative` ```python negative(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `node` ```python node(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` Convert a computation graph node into MLIR. **Args:** ctx (Context): conversion context node (Node): node to convert preds (List[Conversion]): conversions of ordered predecessors of the node Return: Conversion: conversion object corresponding to node --- ### method `not_equal` ```python not_equal(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `ones` ```python ones(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `process` ```python process(graph: Graph, configuration: Configuration) ``` Process a computation graph for MLIR conversion. **Args:** graph (Graph): graph to process configuration (Configuration): configuration to use --- ### method `relu` ```python relu(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `reshape` ```python reshape(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `right_shift` ```python right_shift(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `round_bit_pattern` ```python round_bit_pattern( ctx: Context, node: Node, preds: List[Conversion] ) → Conversion ``` --- ### method `simplify_tag` ```python simplify_tag(configuration: Configuration, tag: str) → str ``` Keep only `n` higher tag parts. --- ### method `squeeze` ```python squeeze(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `stdout_with_ansi_support` ```python stdout_with_ansi_support() → bool ``` Detect if ansi characters can be used (e.g. not the case in notebooks). --- ### method `subtract` ```python subtract(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `sum` ```python sum(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `tlu` ```python tlu(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### classmethod `trace_progress` ```python trace_progress( configuration: Configuration, progress_index: int, nodes: List[Node] ) ``` Add a trace_message for progress. **Args:** configuration: configuration for title, tags options progress_index: index of the next node to process nodes: all nodes --- ### method `transpose` ```python transpose(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `truncate_bit_pattern` ```python truncate_bit_pattern( ctx: Context, node: Node, preds: List[Conversion] ) → Conversion ``` --- ### method `where` ```python where(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ``` --- ### method `zeros` ```python zeros(ctx: Context, node: Node, preds: List[Conversion]) → Conversion ```