'хло' Диалект

Клиент HLO Ops

Этот диалект содержит операции, которые тесно связаны с областью API C++ XlaBuilder, где такие операции имеют семантику, выходящую за рамки того, что существует в диалектах более низкого уровня (таких как stablehlo ). По сути, всякий раз, когда клиентская библиотека использует синтаксический сахар или композицию нескольких операций для вызова API, этот диалект пытается смоделировать вызов API и предоставить шаблоны преобразования для полной реализации в диалектах более низкого уровня.

Операции

chlo._asin_acos_kernel (chlo::AsinAcosKernelOp)

AsinAcosKernel operator

Синтаксис:

operation ::= `chlo._asin_acos_kernel` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает AsinAcosKernel(operand) поэлементно.

If
  w = _asin_acos_kernel(z)
  w' = _asin_acos_kernel(I * z)
Then
  asin(z) = complex(atan2(z.real, w.real), sign(z.imag) * w.imag)
  acos(z) = complex(atan2(w.real, z.real), -sign(z.imag) * w.imag)
  asinh(z) = complex(sign(z.real) * w'.imag, atan2(z.imag, w'.real))
  acosh(z) = complex(w.imag, sign(z.imag) * atan2(w.real, z.real))

Эта операция используется в качестве промежуточного значения в декомпозициях и никогда не должна создаваться непосредственно фреймворками или использоваться бэкэндами.

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор комплексного типа с 32/64-битными значениями элементов с плавающей запятой

Результаты:

Результат Описание
result тензор комплексного типа с 32/64-битными значениями элементов с плавающей запятой

chlo.acos (chlo::AcosOp)

оператор АКОС

Синтаксис:

operation ::= `chlo.acos` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает Acos(operand) поэлементно.

\[ \acos(x) = 2 * \atan(\sqrt(1 - x^2) / (1 + x)) if x != -1 = pi if x == -1 \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.acosh (chlo::AcoshOp)

операция Акош

Синтаксис:

operation ::= `chlo.acosh` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает Acosh(operand) поэлементно.

\[ \acosh(x) = log(x + sqrt(x^2 - 1)) if x >= -1 \acosh(x) = nan if x < -1 \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.asin (chlo::AsinOp)

Оператор Asin

Синтаксис:

operation ::= `chlo.asin` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает Asin(operand) поэлементно.

\[ \asin(x) = 2 * atan(x / (1 + sqrt(1 - x^2))) \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.asinh (chlo::AsinhOp)

Операция Асинх

Синтаксис:

operation ::= `chlo.asinh` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает Asinh(operand) поэлементно.

\[ \asinh(x) = log(x + sqrt(x^2 + 1)) \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.atan (chlo::AtanOp)

Оператор Атан

Синтаксис:

operation ::= `chlo.atan` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает поэлементный Atan(operand) .

\[ \atan(x) = \atan2(x, 1) \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.atanh (chlo::AtanhOp)

Оператор Atanh

Синтаксис:

operation ::= `chlo.atanh` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает поэлементный Atanh(operand) .

\[ \atanh(x) = 0.5 * log((1 + x) / (1 - x)) if abs(x) <= 1 = nan otherwise \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.bessel_i1e (chlo::BesselI1eOp)

Функция Бесселя первого порядка

Синтаксис:

operation ::= `chlo.bessel_i1e` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает поэлементно bessel_i1e(operand) .

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.broadcast_add (chlo::BroadcastAddOp)

Оператор добавления (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_add` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементно lhs + rhs части.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , Commutative , HLO_BroadcastingElementwise , HLO_CompatibleOperandsAndResultElementType , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_and (chlo::BroadcastAndOp)

Логический оператор (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_and` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементное logical_and(lhs, rhs) .

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , Commutative , HLO_BroadcastingElementwise , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор логических значений или 2/4/8/16/32/64-битных целых чисел
rhs тензор логических значений или 2/4/8/16/32/64-битных целых чисел

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_atan2 (chlo::BroadcastAtan2Op)

Оператор Atan2 (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_atan2` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает atan2(lhs/rhs) поэлементно.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_compare (chlo::BroadcastCompareOp)

Сравнить оператора (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_compare` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Сравнивает lhs и rhs элементы поэлементно в соответствии с comparison_direction и compare_type . Если compare_type не указан, он принимает значение FLOAT для элементов типа float, SIGNED для элементов типа signed и UNSIGNED для элементов типа unsigned.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_comparison_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64
comparison_direction ::mlir::chlo::ComparisonDirectionAttr Какую операцию сравнения следует выполнить?
compare_type ::mlir::chlo::ComparisonTypeAttr Какой тип сравнения использовать?

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор булевых значений

chlo.broadcast_complex (chlo::BroadcastComplexOp)

Комплексный оператор (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_complex` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Выполняет поэлементное преобразование пары действительного и мнимого значений в комплексное число.

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор из 4/6/8/16/32/64-битных значений с плавающей запятой
rhs тензор из 4/6/8/16/32/64-битных значений с плавающей запятой

Результаты:

Результат Описание
«безымянный» тензор комплексного типа с 32/64-битными значениями элементов с плавающей запятой

chlo.broadcast_divide (chlo::BroadcastDivOp)

Оператор подразделения (с возможностью вещания)

Синтаксис:

operation ::= `chlo.broadcast_divide` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементно lhs / rhs части.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_maximum (chlo::BroadcastMaxOp)

Максимальный оператор (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_maximum` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементное значение max(lhs, rhs) .

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , Commutative , HLO_BroadcastingElementwise , HLO_CompatibleOperandsAndResultElementType , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_minimum (chlo::BroadcastMinOp)

Минимальный оператор (с возможностью вещания)

Синтаксис:

operation ::= `chlo.broadcast_minimum` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементное значение min(lhs, rhs) .

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , Commutative , HLO_BroadcastingElementwise , HLO_CompatibleOperandsAndResultElementType , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_multiply (chlo::BroadcastMulOp)

Оператор умножения (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_multiply` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементно lhs * rhs .

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , Commutative , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_next_after (chlo::BroadcastNextAfterOp)

Оператор Std::nextafter (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_next_after` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает следующее представимое значение lhs в направлении rhs , поэлементно. Также может возвращать субнормальное число.

Эквивалентно функции std::nextafter в C++.

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_or (chlo::BroadcastOrOp)

Логический оператор ИЛИ (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_or` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементное logical_or(lhs, rhs) .

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , Commutative , HLO_BroadcastingElementwise , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор логических значений или 2/4/8/16/32/64-битных целых чисел
rhs тензор логических значений или 2/4/8/16/32/64-битных целых чисел

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_polygamma (chlo::BroadcastPolygammaOp)

Полигамма-функция (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_polygamma` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает Polygamma(operand, operand) поэлементно.

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_power (chlo::BroadcastPowOp)

Оператор энергоснабжения (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_power` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементно lhs ^ rhs части.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_remainder (chlo::BroadcastRemOp)

Оператор напоминания (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_remainder` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает lhs % rhs и правой частей.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_select (chlo::BroadcastSelectOp)

Оператор выбора (с возможностью широковещательной рассылки в стиле numpy)

Синтаксис:

operation ::= `chlo.broadcast_select` $pred `,` $on_true `,` $on_false attr-dict `:`
              `(` type($pred) `,` type($on_true) `,` type($on_false) `)` `->` type(results)

Создает выходной массив из элементов двух входных массивов на основе значений массива предикатов.

См. https://www.tensorflow.org/xla/operation_semantics#select

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
pred ранжированный тензор булевых значений
on_true тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
on_false тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_shift_left (chlo::BroadcastShiftLeftOp)

Оператор сдвига влево (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_shift_left` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает lhs << rhs поэлементно.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_shift_right_arithmetic (chlo::BroadcastShiftRightArithmeticOp)

Арифметический оператор сдвига вправо (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_shift_right_arithmetic` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает значение lhs >> rhs поэлементно.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_shift_right_logical (chlo::BroadcastShiftRightLogicalOp)

Логический оператор сдвига вправо (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_shift_right_logical` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает значение lhs >> rhs поэлементно.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_subtract (chlo::BroadcastSubOp)

Оператор вычитания (с возможностью трансляции)

Синтаксис:

operation ::= `chlo.broadcast_subtract` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементно lhs - rhs части.

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.
rhs тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_xor (chlo::BroadcastXorOp)

Логический оператор XOR (с возможностью широковещательной рассылки)

Синтаксис:

operation ::= `chlo.broadcast_xor` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает поэлементное logical_xor(lhs, rhs) .

См. https://www.tensorflow.org/xla/operation_semantics#element-wise_binary_arithmetic_operations

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , Commutative , HLO_BroadcastingElementwise , InferTensorType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор логических значений или 2/4/8/16/32/64-битных целых чисел
rhs тензор логических значений или 2/4/8/16/32/64-битных целых чисел

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.broadcast_zeta (chlo::BroadcastZetaOp)

Дзета-функция Гурвица

Синтаксис:

operation ::= `chlo.broadcast_zeta` $lhs `,` $rhs attr-dict `:`
              `(` type($lhs) `,` type($rhs) `)` `->` type(results)

Возвращает Zeta(operand, operand) поэлементно.

\[ \(\zeta(x, q) = \sum_{n=0}^{\infty} (q + n)^{-x}\) \]

Трейты: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultElementType

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
broadcast_dimensions ::mlir::DenseI64ArrayAttr атрибут плотного массива i64

Операнды:

Операнд Описание
lhs тензор из 4/6/8/16/32/64-битных значений с плавающей запятой
rhs тензор из 4/6/8/16/32/64-битных значений с плавающей запятой

Результаты:

Результат Описание
«безымянный» тензор из 4/6/8/16/32/64-битных значений с плавающей запятой

chlo.conj (chlo::ConjOp)

оператор сопряжения

Синтаксис:

operation ::= `chlo.conj` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает поэлементный Conj(operand) .

\[ \conj(x) = (\real(x), \neg(\imag(x))) \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.constant (chlo::ConstantOp)

Постоянный оператор

Синтаксис:

operation ::= `chlo.constant` attr-dict $value

Представляет собой постоянную величину.

Характеристики: AlwaysSpeculatableImplTrait , ConstantLike

Интерфейсы: ConditionallySpeculatable , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
value ::mlir::ElementsAttr постоянный векторный/тензорный атрибут

Результаты:

Результат Описание
output Тензор статически заданной формы, содержащий 4/6/8/16/32/64-битные числа с плавающей запятой или логические значения, либо 2/4/8/16/32/64-битные целочисленные или комплексные значения с 32/64-битными элементами с плавающей запятой или целочисленными квантованными значениями для каждого тензора.

chlo.constant_like (chlo::ConstantLikeOp)

Оператор константы

Возвращает константу расширения той же формы, что и операнд.

Traits: AlwaysSpeculatableImplTrait , CHLO_Broadcasting , HLO_BroadcastingElementwise , InferTensorType , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Атрибуты:

Атрибут Тип MLIR Описание
value ::mlir::TypedAttr Экземпляр TypedAttr

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

Результаты:

Результат Описание
«безымянный» тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или логических значений, или 2/4/8/16/32/64-битных целых или комплексных чисел с 32/64-битными элементами с плавающей запятой, или целочисленно квантованные значения для каждого тензора, или целочисленно квантованные значения для каждой оси.

chlo.cosh (chlo::CoshOp)

Оператор Кэш

Синтаксис:

operation ::= `chlo.cosh` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает Cosh(operand) поэлементно.

\[ \cosh(x) = (e^x + e^-x) / 2 \]

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

Результаты:

Результат Описание
result тензор 4/6/8/16/32/64-битных чисел с плавающей запятой или комплексных чисел, содержащий 32/64-битные значения элементов с плавающей запятой.

chlo.digamma (chlo::DigammaOp)

Дигамма-функция

Синтаксис:

operation ::= `chlo.digamma` $operand attr-dict `:` type($operand) `->` type($result)

Возвращает Digamma(operand) поэлементно.

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор из 4/6/8/16/32/64-битных значений с плавающей запятой

Результаты:

Результат Описание
result тензор из 4/6/8/16/32/64-битных значений с плавающей запятой

chlo.erf (chlo::ErfOp)

Оператор Erfc

Синтаксис:

operation ::= `chlo.erf` $operand attr-dict `:` type($operand) `->` type($result)

Вычисляет функцию ошибок Гаусса для каждого элемента x .

erf(x) = erf_impl(x), если |x| < 1 = 1 - erfc_impl(x), в противном случае

Характеристики: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Интерфейсы: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Эффекты: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand тензор из 4/6/8/16/32/64-битных значений с плавающей запятой

Результаты:

Результат Описание
result тензор из 4/6/8/16/32/64-битных значений с плавающей запятой

chlo.erf_inv (chlo::ErfInvOp)

Обратная эрф

Синтаксис:

operation ::= `chlo.erf_inv` $operand attr-dict `:` type($operand) `->` type($result)

Returns ErfInv(operand) element-wise.

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float values

chlo.erfc (chlo::ErfcOp)

Erfc operator

Синтаксис:

operation ::= `chlo.erfc` $operand attr-dict `:` type($operand) `->` type($result)

Computes an approximation of the error function complement (1 - erf(x)).

erfc(x) = erfc_impl(x) if |x| > 1 = 1 - erf_impl(x) otherwise

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float values

chlo.is_inf (chlo::IsInfOp)

IsInf predicate

Синтаксис:

operation ::= `chlo.is_inf` $operand attr-dict `:` type($operand) `->` type($result)

Returns if a value is +/-inf element-wise.

Traits: AlwaysSpeculatableImplTrait , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of bool values

chlo.is_neg_inf (chlo::IsNegInfOp)

IsNegInf predicate

Синтаксис:

operation ::= `chlo.is_neg_inf` $operand attr-dict `:` type($operand) `->` type($result)

Returns if a value is -inf element-wise.

Traits: AlwaysSpeculatableImplTrait , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of bool values

chlo.is_pos_inf (chlo::IsPosInfOp)

IsPosInf predicate

Синтаксис:

operation ::= `chlo.is_pos_inf` $operand attr-dict `:` type($operand) `->` type($result)

Returns if a value is +inf element-wise.

Traits: AlwaysSpeculatableImplTrait , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of bool values

chlo.lgamma (chlo::LgammaOp)

Lgamma function

Синтаксис:

operation ::= `chlo.lgamma` $operand attr-dict `:` type($operand) `->` type($result)

Returns Lgamma(operand) element-wise.

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float values

chlo.next_after (chlo::NextAfterOp)

Std::nextafter operator

Синтаксис:

operation ::= `chlo.next_after` $x `,` $y attr-dict `:` type($x) `,` type($y) `->` type(results)

Returns the next representable value of x in the direction of y , element-wise. It can also return a subnormal number.

Equivalent to the C++ std::nextafter function.

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
x tensor of 4/6/8/16/32/64-bit float values
y tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float values

chlo.polygamma (chlo::PolygammaOp)

Полигамма-функция

Синтаксис:

operation ::= `chlo.polygamma` $n `,` $x attr-dict `:` type($n) `,` type($x) `->` type(results)

Returns Polygamma(operand, operand) element-wise.

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
n tensor of 4/6/8/16/32/64-bit float values
x tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float values

chlo.ragged_dot (chlo::RaggedDotOp)

Computes a matmul over a single ragged dimension

This operation takes three tensor args---lhs, rhs, and group_sizes---and a "ragged_dot_dimension_numbers" attribute. Like dot_general, the lhs and rhs are allowed arbitrary batch and contracting dimensions. Additionally, the lhs is required to have one ragged dimension, and the rhs may have at most one group dimension. The op has three modes, depending on the kind of the lhs ragged dimension.

In mode 1, the shape-signature is [b,m,k], [g,b,k,n], [b,g] -> [b,m,n] . Here the ragged dimension is an lhs non-contracting dimension ( m ). The dimensions b and k represent batch and contracting dimensions respectively. The rhs is required to have a group dimension ( g ).

In mode 2, the shape-signature is [b,m,k], [b,k,n], [b,g] -> [g,b,m,n] . Here the ragged dimension is an lhs/rhs contracting dimension ( k ).

In mode 3, the shape-signature is [b,m,k], [b,k,n], [g] -> [b,m,n] . Here the ragged dimension is an lhs/rhs batch dimension ( b ).

Traits: AlwaysSpeculatableImplTrait

Interfaces: ConditionallySpeculatable , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Атрибуты:

Атрибут MLIR Type Описание
ragged_dot_dimension_numbers ::mlir::chlo::RaggedDotDimensionNumbersAttr Attribute that models the dimension information for ragged dot.
precision_config ::mlir::ArrayAttr Precision Config attribute

Операнды:

Операнд Описание
lhs tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values
rhs tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values
group_sizes ranked tensor of 2/4/8/16/32/64-bit integer values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values

chlo.scan (chlo::ScanOp)

операция сканирования

Applies a reduction function body to inputs and inits along the dimension and produces results (comprising outputs and carries ).

If is_reverse is true, the scan is performed in reverse order. is_associative indicates whether the reduction function is associative.

See: https://www.tensorflow.org/xla/operation_semantics#scan

ScanOp currently does not have a decomposition to StableHLO.

Traits: AttrSizedOperandSegments , AttrSizedResultSegments , InferTensorType , IsolatedFromAbove , RecursiveMemoryEffects

Interfaces: InferShapedTypeOpInterface , InferTypeOpInterface , OpAsmOpInterface

Атрибуты:

Атрибут MLIR Type Описание
dimension ::mlir::IntegerAttr 64-bit signless integer attribute whose value is non-negative
is_reverse ::mlir::BoolAttr bool attribute
is_associative ::mlir::BoolAttr bool attribute

Операнды:

Операнд Описание
inputs variadic of tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values
inits variadic of tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values

Результаты:

Результат Описание
outputs variadic of tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values
carries variadic of tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values

chlo.sinh (chlo::SinhOp)

Sinh operation

Синтаксис:

operation ::= `chlo.sinh` $operand attr-dict `:` type($operand) `->` type($result)

Returns Sinh(operand) element-wise.

\[ \sinh(x) = (e^x - e^-x) / 2 if |x| < 1 = e^(x + log(1/2)) - e^(-x + log(1/2)) otherwise. \]

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float or complex type with 32/64-bit float elements values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float or complex type with 32/64-bit float elements values

chlo.square (chlo::SquareOp)

Square operation

Синтаксис:

operation ::= `chlo.square` $operand attr-dict `:` type($operand) `->` type($result)

Returns Square(operand) element-wise.

\[ \square(x) = complex((x.real - x.imag) * (x.real + x.imag), x.real * x.imag * 2) if x is a complex number = x * x otherwise \]

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float or complex type with 32/64-bit float elements values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float or complex type with 32/64-bit float elements values

chlo.tan (chlo::TanOp)

Tan operation

Синтаксис:

operation ::= `chlo.tan` $operand attr-dict `:` type($operand) `->` type($result)

Returns Tan(operand) element-wise.

\[ \tan(x) = \sin(x) / \cos(x) \]

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType , Elementwise , SameOperandsAndResultShape

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float or complex type with 32/64-bit float elements values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float or complex type with 32/64-bit float elements values

chlo.top_k (chlo::TopKOp)

Finds values and indices of the k largest elements for the last dimension

Синтаксис:

operation ::= `chlo.top_k` `(`$operand `,` `k` `=` $k`)` attr-dict `:`
              type($operand) `->` `(`type($values)`,` type($indices)`)`

If the input is a vector (rank-1), finds the k largest entries in the vector and outputs their values and indices as vectors. Thus values[j] is the j -th largest entry in input , and its index is indices[j] .

For matrices (resp. higher rank input), computes the top k entries in each row (resp. vector along the last dimension). Thus,

values.shape = indices.shape = input.shape[:-1] + [k]

If two elements are equal, the lower-index element appears first.

Traits: AlwaysSpeculatableImplTrait , InferTensorType

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Атрибуты:

Атрибут MLIR Type Описание
k ::mlir::IntegerAttr 64-bit signless integer attribute

Операнды:

Операнд Описание
operand tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values

Результаты:

Результат Описание
values tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values
indices tensor of 4/6/8/16/32/64-bit float or bool or 2/4/8/16/32/64-bit integer or complex type with 32/64-bit float elements or per-tensor integer quantized or per-axis integer quantized values

chlo.zeta (chlo::ZetaOp)

Дзета-функция Гурвица

Синтаксис:

operation ::= `chlo.zeta` $x `,` $q attr-dict `:` type($x) `,` type($q) `->` type(results)

Returns Zeta(operand, operand) element-wise.

\[ \(\zeta(x, q) = \sum_{n=0}^{\infty} (q + n)^{-x}\) \]

Traits: AlwaysSpeculatableImplTrait , CompatibleOperandsAndResultType

Interfaces: ConditionallySpeculatable , InferShapedTypeOpInterface , InferTypeOpInterface , NoMemoryEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Операнды:

Операнд Описание
x tensor of 4/6/8/16/32/64-bit float values
q tensor of 4/6/8/16/32/64-bit float values

Результаты:

Результат Описание
result tensor of 4/6/8/16/32/64-bit float values

Атрибуты

ComparisonDirectionAttr

Which comparison operation to perform.

Синтаксис:

#chlo.comparison_direction<
  ::mlir::chlo::ComparisonDirection   # value
>

Параметры:

Параметр тип C++ Описание
ценить ::mlir::chlo::ComparisonDirection an enum of type ComparisonDirection

ComparisonTypeAttr

Which comparison type to use.

Синтаксис:

#chlo.comparison_type<
  ::mlir::chlo::ComparisonType   # value
>

Параметры:

Параметр тип C++ Описание
ценить ::mlir::chlo::ComparisonType an enum of type ComparisonType

PrecisionAttr

XLA precision for an operand. Has backend specific meaning.

Синтаксис:

#chlo.precision<
  ::mlir::chlo::Precision   # value
>

Параметры:

Параметр тип C++ Описание
ценить ::mlir::chlo::Precision an enum of type Precision

RaggedDotDimensionNumbersAttr

Attribute that models the dimension information for ragged dot.

Параметры:

Параметр тип C++ Описание
lhsBatchingDimensions ::llvm::ArrayRef<int64_t> Измерение
rhsBatchingDimensions ::llvm::ArrayRef<int64_t> Измерение
lhsContractingDimensions ::llvm::ArrayRef<int64_t> Измерение
rhsContractingDimensions ::llvm::ArrayRef<int64_t> Измерение
lhsRaggedDimensions ::llvm::ArrayRef<int64_t> Измерение
rhsGroupDimensions ::llvm::ArrayRef<int64_t> Измерение

Перечисления

ComparisonDirection

Which comparison operation to perform.

Случаи:

Символ Ценить Нить
ЭКВ 0 ЭКВ
СВ 1 СВ
GE 2 GE
ГТ 3 ГТ
ЛЕ 4 ЛЕ
ЛТ 5 ЛТ

ComparisonType

Which comparison type to use.

Случаи:

Символ Ценить Нить
НЕТИП 0 НЕТИП
ПЛАВАТЬ 1 ПЛАВАТЬ
TOTALORDER 2 TOTALORDER
ПОДПИСЬ 3 ПОДПИСЬ
БЕЗ ПОДПИСИ 4 БЕЗ ПОДПИСИ

Точность

XLA precision for an operand. Has backend specific meaning.

Случаи:

Символ Ценить Нить
ПО УМОЛЧАНИЮ 0 ПО УМОЛЧАНИЮ
ВЫСОКИЙ 1 ВЫСОКИЙ
ВЫСШИЙ 2 ВЫСШИЙ