SCIFRCkks

‘scifrckks’ Dialect

Cornami SCIFR CKKS dialect for FHE Applications.

MLIR Dialect for Cornami SCIFR CKKS Dialect Cornami SCIFR CKKS dialect Concepts Section Contains Operators and HBM Regions and memory transfers operations Section can be reduced to FA (for executable) or default (which is not executable) Operator Operators are from AppStream FHE or FractlsBase only

SCIFRCkks types

SCIFRCkksBootstrapKeyType

The key required to perform Bootstrap operation in SCIFRCkks.

Syntax: !scifrckks.bootstrap_key

SCIFRCkksCiphertextType

A type for SCIFRCkks Ciphertext

Syntax: !scifrckks.ciphertext

SCIFRCkksKeySwitchKeyType

The key required to perform Keyswitch operation in SCIFRCkks.

Syntax: !scifrckks.key_switch_key

SCIFRCkksServerParametersType

The server parameters required to map to cornami hardware in SCIFRCkks.

Syntax: !scifrckks.server_parameters

SCIFRCkks ops

scifrckks.Add (scifrckks::AddOp)

Add two ciphertexts.

Syntax:

operation ::= `scifrckks.Add` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, Elementwise, SameOperandsAndResultType, Scalarizable, Tensorizable, Vectorizable

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrckks.AddC (scifrckks::AddConstOp)

Add ciphertext with constant Op.

Syntax:

operation ::= `scifrckks.AddC` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, Elementwise, SameOperandsAndResultType, Scalarizable, Tensorizable, Vectorizable

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrckks.Mul (scifrckks::MulOp)

Mul two ciphertexts.

Syntax:

operation ::= `scifrckks.Mul` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, Elementwise, SameOperandsAndResultType, Scalarizable, Tensorizable, Vectorizable

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrckks.Relin (scifrckks::RelinOp)

Relinearize a ciphertext.

Syntax:

operation ::= `scifrckks.Relin` operands attr-dict `:` functional-type(operands, results)

scifrckks.Sub (scifrckks::SubOp)

Sub two ciphertexts.

Syntax:

operation ::= `scifrckks.Sub` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, Elementwise, SameOperandsAndResultType, Scalarizable, Tensorizable, Vectorizable

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type

scifrckks.SubC (scifrckks::SubConstOp)

Subtract ciphertext from a constant Op.

Syntax:

operation ::= `scifrckks.SubC` operands attr-dict `:` qualified(type($output))

Traits: AlwaysSpeculatableImplTrait, Commutative, Elementwise, SameOperandsAndResultType, Scalarizable, Tensorizable, Vectorizable

Interfaces: ConditionallySpeculatable, InferTypeOpInterface, NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Operands:

OperandDescription
lhsA ciphertext type
rhsA ciphertext type

Results:

ResultDescription
outputA ciphertext type