stablehlo MLIR Dialect Builder API

Методы конструктора

stablehlo::AbsOp

Создает новую операцию stablehlo.abs .

MlirOp Abs(MlirOp &operand);

stablehlo::AddOp

Создает новую операцию stablehlo.add .

MlirOp Add(MlirOp &lhs, MlirOp &rhs);

stablehlo::AfterAllOp

Создает новую операцию stablehlo.after_all .

MlirOp AfterAll(MlirBuilder &builder, ArrayRef<MlirOp> inputs);

stablehlo::AllGatherOp

Создает новую операцию stablehlo.all_gather .

SmallVector<MlirOp> AllGather(MlirBuilder &builder, Type resultType, ArrayRef<MlirOp> operands, uint64_t all_gather_dim, ::mlir::DenseIntElementsAttr replica_groups, /*optional*/::mlir::stablehlo::ChannelHandleAttr channel_handle = {}, /*optional*/bool use_global_device_ids = false);

stablehlo::AllReduceOp

Создает новую операцию stablehlo.all_reduce .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

SmallVector<MlirOp> AllReduce(MlirBuilder &builder, ArrayRef<MlirOp> operands, const RegionBuilderCallback &computation, ::mlir::DenseIntElementsAttr replica_groups, /*optional*/::mlir::stablehlo::ChannelHandleAttr channel_handle = {}, /*optional*/bool use_global_device_ids = false);

stablehlo::AllToAllOp

Создает новую операцию stablehlo.all_to_all .

SmallVector<MlirOp> AllToAll(MlirBuilder &builder, ArrayRef<MlirOp> operands, uint64_t split_dimension, uint64_t concat_dimension, uint64_t split_count, ::mlir::DenseIntElementsAttr replica_groups, /*optional*/::mlir::stablehlo::ChannelHandleAttr channel_handle = {});

stablehlo::AndOp

Создает новую stablehlo.and операцию.

MlirOp And(MlirOp &lhs, MlirOp &rhs);

stablehlo::Atan2Op

Создает новую операцию stablehlo.atan2 .

MlirOp Atan2(MlirOp &lhs, MlirOp &rhs);

stablehlo::BatchNormGradOp

Создает новую операцию stablehlo.batch_norm_grad .

SmallVector<MlirOp, 3> BatchNormGrad(MlirOp &operand, MlirOp &scale, MlirOp &mean, MlirOp &variance, MlirOp &grad_output, ::llvm::APFloat epsilon, uint64_t feature_index);

stablehlo::BatchNormInferenceOp

Создает новую операцию stablehlo.batch_norm_inference .

MlirOp BatchNormInference(MlirOp &operand, MlirOp &scale, MlirOp &offset, MlirOp &mean, MlirOp &variance, ::llvm::APFloat epsilon, uint64_t feature_index);

stablehlo::BatchNormTrainingOp

Создает новую операцию stablehlo.batch_norm_training .

SmallVector<MlirOp, 3> BatchNormTraining(MlirOp &operand, MlirOp &scale, MlirOp &offset, ::llvm::APFloat epsilon, uint64_t feature_index);

stablehlo::BitcastConvertOp

Создает новую операцию stablehlo.bitcast_convert .

MlirOp BitcastConvert(Type resultType, MlirOp &operand);

stablehlo::BroadcastInDimOp

Создает новую операцию stablehlo.broadcast_in_dim .

MlirOp BroadcastInDim(Type resultType, MlirOp &operand, ::llvm::ArrayRef<int64_t> broadcast_dimensions);

stablehlo::BroadcastOp

Создает новую операцию stablehlo.broadcast .

MlirOp Broadcast(MlirOp &operand, ::llvm::ArrayRef<int64_t> broadcast_sizes);

stablehlo::CbrtOp

Создает новую операцию stablehlo.cbrt .

MlirOp Cbrt(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::CeilOp

Создает новую операцию stablehlo.ceil .

MlirOp Ceil(MlirOp &operand);

stablehlo::CholeskyOp

Создает новую операцию stablehlo.cholesky .

MlirOp Cholesky(MlirOp &a, /*optional*/bool lower = false);

stablehlo::ClampOp

Создает новую операцию stablehlo.clamp .

MlirOp Clamp(MlirOp &min, MlirOp &operand, MlirOp &max);

stablehlo::ClzOp

Создает новую операцию stablehlo.count_leading_zeros .

MlirOp Clz(MlirOp &operand);

stablehlo::CollectiveBroadcastOp

Создает новую операцию stablehlo.collective_broadcast .

MlirOp CollectiveBroadcast(MlirOp &operand, ::mlir::DenseIntElementsAttr replica_groups, /*optional*/::mlir::stablehlo::ChannelHandleAttr channel_handle = {});

stablehlo::CollectivePermuteOp

Создает новую операцию stablehlo.collective_permute .

MlirOp CollectivePermute(MlirOp &operand, ::mlir::DenseIntElementsAttr source_target_pairs, /*optional*/::mlir::stablehlo::ChannelHandleAttr channel_handle = {});

stablehlo::CompareOp

Создает новую операцию stablehlo.compare .

MlirOp Compare(MlirOp &lhs, MlirOp &rhs, ::mlir::stablehlo::ComparisonDirection comparison_direction, /*optional*/::mlir::stablehlo::ComparisonTypeAttr compare_type = {});

stablehlo::ComplexOp

Создает новую операцию stablehlo.complex .

MlirOp Complex(MlirOp &lhs, MlirOp &rhs);

stablehlo::CompositeOp

Создает новую операцию stablehlo.composite .

SmallVector<MlirOp> Composite(MlirBuilder &builder, Type resultType, ArrayRef<MlirOp> inputs, ::llvm::StringRef name, ::llvm::StringRef decomposition, /*optional*/::mlir::DictionaryAttr composite_attributes = {}, /*optional*/uint32_t version = 0);

stablehlo::ConcatenateOp

Создает новую операцию stablehlo.concatenate .

MlirOp Concatenate(MlirBuilder &builder, ArrayRef<MlirOp> inputs, uint64_t dimension);

stablehlo::ConstantOp

Создает новую операцию stablehlo.constant .

MlirOp Constant(MlirBuilder &builder, ::mlir::ElementsAttr value);

stablehlo::ConvertOp

Создает новую операцию stablehlo.convert .

MlirOp Convert(Type resultType, MlirOp &operand);

stablehlo::ConvolutionOp

Создает новую операцию stablehlo.convolution .

MlirOp Convolution(Type resultType, MlirOp &lhs, MlirOp &rhs, ::mlir::stablehlo::ConvDimensionNumbersAttr dimension_numbers, uint64_t feature_group_count, uint64_t batch_group_count, /*optional*/::mlir::DenseI64ArrayAttr window_strides = {}, /*optional*/::mlir::DenseIntElementsAttr padding = {}, /*optional*/::mlir::DenseI64ArrayAttr lhs_dilation = {}, /*optional*/::mlir::DenseI64ArrayAttr rhs_dilation = {}, /*optional*/::mlir::DenseBoolArrayAttr window_reversal = {}, /*optional*/::mlir::ArrayAttr precision_config = {});

stablehlo::CosineOp

Создает новую операцию stablehlo.cosine .

MlirOp Cosine(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::CreateTokenOp

Создает новую операцию stablehlo.create_token .

MlirOp CreateToken(MlirBuilder &builder);

stablehlo::CrossReplicaSumOp

Создает новую операцию stablehlo.cross-replica-sum .

MlirOp CrossReplicaSum(MlirOp &operand, ::mlir::DenseIntElementsAttr replica_groups);

stablehlo::CustomCallOp

Создает новую операцию stablehlo.custom_call .

SmallVector<MlirOp> CustomCall(MlirBuilder &builder, Type resultType, ArrayRef<MlirOp> inputs, ::llvm::StringRef call_target_name, /*optional*/bool has_side_effect = false, /*optional*/::mlir::Attribute backend_config = {}, /*optional*/::mlir::stablehlo::CustomCallApiVersion api_version = ::mlir::stablehlo::CustomCallApiVersion::API_VERSION_ORIGINAL, /*optional*/::mlir::ArrayAttr called_computations = {}, /*optional*/::mlir::ArrayAttr operand_layouts = {}, /*optional*/::mlir::ArrayAttr result_layouts = {}, /*optional*/::mlir::ArrayAttr output_operand_aliases = {});

stablehlo::DivOp

Создает новую операцию stablehlo.divide .

MlirOp Div(MlirOp &lhs, MlirOp &rhs);

stablehlo::DotGeneralOp

Создает новую операцию stablehlo.dot_general .

MlirOp DotGeneral(Type resultType, MlirOp &lhs, MlirOp &rhs, ::mlir::stablehlo::DotDimensionNumbersAttr dot_dimension_numbers, /*optional*/::mlir::ArrayAttr precision_config = {}, /*optional*/::mlir::stablehlo::DotAlgorithmAttr algorithm = {});

stablehlo::DotOp

Создает новую операцию stablehlo.dot .

MlirOp Dot(Type resultType, MlirOp &lhs, MlirOp &rhs, /*optional*/::mlir::ArrayAttr precision_config = {});

stablehlo::DynamicBroadcastInDimOp

Создает новую операцию stablehlo.dynamic_broadcast_in_dim .

MlirOp DynamicBroadcastInDim(Type resultType, MlirOp &operand, MlirOp &output_dimensions, ::llvm::ArrayRef<int64_t> broadcast_dimensions, /*optional*/::mlir::DenseI64ArrayAttr known_expanding_dimensions = {}, /*optional*/::mlir::DenseI64ArrayAttr known_nonexpanding_dimensions = {});

stablehlo::DynamicConvOp

Создает новую операцию stablehlo.dynamic_conv .

MlirOp DynamicConv(Type resultType, MlirOp &lhs, MlirOp &rhs, MlirOp &padding, ::mlir::stablehlo::ConvDimensionNumbersAttr dimension_numbers, uint64_t feature_group_count, uint64_t batch_group_count, /*optional*/::mlir::DenseI64ArrayAttr window_strides = {}, /*optional*/::mlir::DenseI64ArrayAttr lhs_dilation = {}, /*optional*/::mlir::DenseI64ArrayAttr rhs_dilation = {}, /*optional*/::mlir::DenseBoolArrayAttr window_reversal = {}, /*optional*/::mlir::ArrayAttr precision_config = {});

stablehlo::DynamicGatherOp

Создает новую операцию stablehlo.dynamic_gather .

MlirOp DynamicGather(MlirOp &operand, MlirOp &start_indices, MlirOp &slice_sizes, ::mlir::stablehlo::GatherDimensionNumbersAttr dimension_numbers, /*optional*/bool indices_are_sorted = false);

stablehlo::DynamicIotaOp

Создает новую операцию stablehlo.dynamic_iota .

MlirOp DynamicIota(Type resultType, MlirOp &output_shape, uint64_t iota_dimension);

stablehlo::DynamicPadOp

Создает новую операцию stablehlo.dynamic_pad .

MlirOp DynamicPad(Type resultType, MlirOp &operand, MlirOp &padding_value, MlirOp &edge_padding_low, MlirOp &edge_padding_high, MlirOp &interior_padding);

stablehlo::DynamicReshapeOp

Создает новую операцию stablehlo.dynamic_reshape .

MlirOp DynamicReshape(Type resultType, MlirOp &operand, MlirOp &output_shape);

stablehlo::DynamicSliceOp

Создает новую операцию stablehlo.dynamic_slice .

MlirOp DynamicSlice(MlirOp &operand, ArrayRef<MlirOp> start_indices, ::llvm::ArrayRef<int64_t> slice_sizes);

stablehlo::DynamicUpdateSliceOp

Создает новую операцию stablehlo.dynamic_update_slice .

MlirOp DynamicUpdateSlice(MlirOp &operand, MlirOp &update, ArrayRef<MlirOp> start_indices);

stablehlo::EinsumOp

Создает новую операцию stablehlo.einsum .

MlirOp Einsum(Type resultType, MlirOp &lhs, MlirOp &rhs, ::llvm::StringRef einsum_config);

stablehlo::ExpOp

Создает новую операцию stablehlo.exponential .

MlirOp Exp(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::Expm1Op

Создает новую операцию stablehlo.exponential_minus_one .

MlirOp Expm1(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::FftOp

Создает новую операцию stablehlo.fft .

MlirOp Fft(MlirOp &operand, ::mlir::stablehlo::FftType fft_type, ::llvm::ArrayRef<int64_t> fft_length);

stablehlo::FloorOp

Создает новую операцию stablehlo.floor .

MlirOp Floor(MlirOp &operand);

stablehlo::GatherOp

Создает новую операцию stablehlo.gather .

MlirOp Gather(MlirOp &operand, MlirOp &start_indices, ::mlir::stablehlo::GatherDimensionNumbersAttr dimension_numbers, ::llvm::ArrayRef<int64_t> slice_sizes, /*optional*/bool indices_are_sorted = false);

stablehlo::GetDimensionSizeOp

Создает новую операцию stablehlo.get_dimension_size .

MlirOp GetDimensionSize(MlirOp &operand, uint64_t dimension);

stablehlo::GetTupleElementOp

Создает новую операцию stablehlo.get_tuple_element .

MlirOp GetTupleElement(MlirOp &operand, uint32_t index);

stablehlo::IfOp

Создает новую операцию stablehlo.if .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

SmallVector<MlirOp> If(MlirOp &pred, const RegionBuilderCallback &true_branch, const RegionBuilderCallback &false_branch);

stablehlo::ImagOp

Создает новую операцию stablehlo.imag .

MlirOp Imag(MlirOp &operand);

stablehlo::InfeedOp

Создает новую операцию stablehlo.infeed .

SmallVector<MlirOp> Infeed(Type resultType, MlirOp &token, ::llvm::StringRef infeed_config = "", /*optional*/::mlir::ArrayAttr layout = {});

stablehlo::IotaOp

Создает новую операцию stablehlo.iota .

MlirOp Iota(MlirBuilder &builder, Type resultType, uint64_t iota_dimension);

stablehlo::IsFiniteOp

Создает новую операцию stablehlo.is_finite .

MlirOp IsFinite(MlirOp &x);

stablehlo::Log1pOp

Создает новую операцию stablehlo.log_plus_one .

MlirOp Log1p(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::LogOp

Создает новую операцию stablehlo.log .

MlirOp Log(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::LogisticOp

Создает новую операцию stablehlo.logistic .

MlirOp Logistic(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::MapOp

Создает новую операцию stablehlo.map .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

MlirOp Map(MlirBuilder &builder, ArrayRef<MlirOp> inputs, const RegionBuilderCallback &computation, ::llvm::ArrayRef<int64_t> dimensions);

stablehlo::MaxOp

Создает новую операцию stablehlo.maximum .

MlirOp Max(MlirOp &lhs, MlirOp &rhs);

stablehlo::MinOp

Создает новую операцию stablehlo.minimum .

MlirOp Min(MlirOp &lhs, MlirOp &rhs);

stablehlo::MulOp

Создает новую операцию stablehlo.multiply .

MlirOp Mul(MlirOp &lhs, MlirOp &rhs);

stablehlo::NegOp

Создает новую операцию stablehlo.negate .

MlirOp Neg(MlirOp &operand);

stablehlo::NotOp

Создает новую операцию stablehlo.not .

MlirOp Not(MlirOp &operand);

stablehlo::OptimizationBarrierOp

Создает новую операцию stablehlo.optimization_barrier .

SmallVector<MlirOp> OptimizationBarrier(MlirBuilder &builder, ArrayRef<MlirOp> operand);

stablehlo::OrOp

Создает новую операцию stablehlo.or .

MlirOp Or(MlirOp &lhs, MlirOp &rhs);

stablehlo::OutfeedOp

Создает новую операцию stablehlo.outfeed .

MlirOp Outfeed(ArrayRef<MlirOp> inputs, MlirOp &token, ::llvm::StringRef outfeed_config = "");

stablehlo::PadOp

Создает новую операцию stablehlo.pad .

MlirOp Pad(MlirOp &operand, MlirOp &padding_value, ::llvm::ArrayRef<int64_t> edge_padding_low, ::llvm::ArrayRef<int64_t> edge_padding_high, ::llvm::ArrayRef<int64_t> interior_padding);

stablehlo::PartitionIdOp

Создает новую операцию stablehlo.partition_id .

MlirOp PartitionId(MlirBuilder &builder);

stablehlo::PopulationCountOp

Создает новую операцию stablehlo.popcnt .

MlirOp PopulationCount(MlirOp &operand);

stablehlo::PowOp

Создает новую операцию stablehlo.power .

MlirOp Pow(MlirOp &lhs, MlirOp &rhs);

stablehlo::RealDynamicSliceOp

Создает новую операцию stablehlo.real_dynamic_slice .

MlirOp RealDynamicSlice(Type resultType, MlirOp &operand, MlirOp &start_indices, MlirOp &limit_indices, MlirOp &strides);

stablehlo::RealOp

Создает новую операцию stablehlo.real .

MlirOp Real(MlirOp &operand);

stablehlo::RecvOp

Создает новую операцию stablehlo.recv .

SmallVector<MlirOp> Recv(Type resultType, MlirOp &token, ::mlir::stablehlo::ChannelHandleAttr channel_handle, /*optional*/bool is_host_transfer = false, /*optional*/::mlir::DenseIntElementsAttr source_target_pairs = {});

stablehlo::ReduceOp

Создает новую операцию stablehlo.reduce .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

SmallVector<MlirOp> Reduce(MlirBuilder &builder, ArrayRef<MlirOp> inputs, ArrayRef<MlirOp> init_values, const RegionBuilderCallback &body, ::llvm::ArrayRef<int64_t> dimensions);

stablehlo::ReducePrecisionOp

Создает новую операцию stablehlo.reduce_precision .

MlirOp ReducePrecision(MlirOp &operand, uint32_t exponent_bits, uint32_t mantissa_bits);

stablehlo::ReduceScatterOp

Создает новую операцию stablehlo.reduce_scatter .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

MlirOp ReduceScatter(Type resultType, MlirOp &operand, const RegionBuilderCallback &computation, uint64_t scatter_dimension, ::mlir::DenseIntElementsAttr replica_groups, /*optional*/::mlir::stablehlo::ChannelHandleAttr channel_handle = {}, /*optional*/bool use_global_device_ids = false);

stablehlo::ReduceWindowOp

Создает новую операцию stablehlo.reduce_window .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

SmallVector<MlirOp> ReduceWindow(MlirBuilder &builder, ArrayRef<MlirOp> inputs, ArrayRef<MlirOp> init_values, const RegionBuilderCallback &body, ::llvm::ArrayRef<int64_t> window_dimensions, /*optional*/::mlir::DenseI64ArrayAttr window_strides = {}, /*optional*/::mlir::DenseI64ArrayAttr base_dilations = {}, /*optional*/::mlir::DenseI64ArrayAttr window_dilations = {}, /*optional*/::mlir::DenseIntElementsAttr padding = {});

stablehlo::RemOp

Создает новую операцию stablehlo.remainder .

MlirOp Rem(MlirOp &lhs, MlirOp &rhs);

stablehlo::ReplicaIdOp

Создает новую операцию stablehlo.replica_id .

MlirOp ReplicaId(MlirBuilder &builder);

stablehlo::ReshapeOp

Создает новую операцию stablehlo.reshape .

MlirOp Reshape(Type resultType, MlirOp &operand);

stablehlo::ReturnOp

Создает новую операцию stablehlo.return .

Эта операция является терминатором региона. Она может быть вызвана только в функции обратного вызова RegionBuilder при построении тела операции.

void Return(RegionBuilder &builder, ArrayRef<MlirOp> results);

stablehlo::ReverseOp

Создает новую операцию stablehlo.reverse .

MlirOp Reverse(MlirOp &operand, ::llvm::ArrayRef<int64_t> dimensions);

stablehlo::RngOp

Создает новую операцию stablehlo.rng .

MlirOp Rng(MlirOp &a, MlirOp &b, MlirOp &shape, ::mlir::stablehlo::RngDistribution rng_distribution);

stablehlo::RoundNearestEvenOp

Создает новую операцию stablehlo.round_nearest_even .

MlirOp RoundNearestEven(MlirOp &operand);

stablehlo::RoundOp

Создает новую операцию stablehlo.round_nearest_afz .

MlirOp Round(MlirOp &operand);

stablehlo::RsqrtOp

Создает новую операцию stablehlo.rsqrt .

MlirOp Rsqrt(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::ScatterOp

Создает новую операцию stablehlo.scatter .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

SmallVector<MlirOp> Scatter(ArrayRef<MlirOp> inputs, MlirOp &scatter_indices, ArrayRef<MlirOp> updates, const RegionBuilderCallback &update_computation, ::mlir::stablehlo::ScatterDimensionNumbersAttr scatter_dimension_numbers, /*optional*/bool indices_are_sorted = false, /*optional*/bool unique_indices = false);

stablehlo::SelectAndScatterOp

Создает новую операцию stablehlo.select_and_scatter .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

MlirOp SelectAndScatter(MlirOp &operand, MlirOp &source, MlirOp &init_value, const RegionBuilderCallback &select, const RegionBuilderCallback &scatter, /*optional*/::mlir::DenseI64ArrayAttr window_dimensions = {}, /*optional*/::mlir::DenseI64ArrayAttr window_strides = {}, /*optional*/::mlir::DenseIntElementsAttr padding = {});

stablehlo::SelectOp

Создает новую операцию stablehlo.select .

MlirOp Select(MlirOp &pred, MlirOp &on_true, MlirOp &on_false);

stablehlo::SendOp

Создает новую операцию stablehlo.send .

MlirOp Send(ArrayRef<MlirOp> inputs, MlirOp &token, ::mlir::stablehlo::ChannelHandleAttr channel_handle, /*optional*/bool is_host_transfer = false, /*optional*/::mlir::DenseIntElementsAttr source_target_pairs = {});

stablehlo::SetDimensionSizeOp

Создает новую операцию stablehlo.set_dimension_size .

MlirOp SetDimensionSize(MlirOp &operand, MlirOp &size, uint64_t dimension);

stablehlo::ShiftLeftOp

Создает новую операцию stablehlo.shift_left .

MlirOp ShiftLeft(MlirOp &lhs, MlirOp &rhs);

stablehlo::ShiftRightArithmeticOp

Создает новую операцию stablehlo.shift_right_arithmetic .

MlirOp ShiftRightArithmetic(MlirOp &lhs, MlirOp &rhs);

stablehlo::ShiftRightLogicalOp

Создает новую операцию stablehlo.shift_right_logical .

MlirOp ShiftRightLogical(MlirOp &lhs, MlirOp &rhs);

stablehlo::SignOp

Создает новую операцию stablehlo.sign .

MlirOp Sign(MlirOp &operand);

stablehlo::SineOp

Создает новую операцию stablehlo.sine .

MlirOp Sine(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::SliceOp

Создает новую операцию stablehlo.slice .

MlirOp Slice(MlirOp &operand, ::llvm::ArrayRef<int64_t> start_indices, ::llvm::ArrayRef<int64_t> limit_indices, ::llvm::ArrayRef<int64_t> strides);

stablehlo::SortOp

Создает новую операцию stablehlo.sort .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

SmallVector<MlirOp> Sort(MlirBuilder &builder, ArrayRef<MlirOp> inputs, const RegionBuilderCallback &comparator, /*optional*/uint64_t dimension = -1, /*optional*/bool is_stable = false);

stablehlo::SqrtOp

Создает новую операцию stablehlo.sqrt .

MlirOp Sqrt(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::SubtractOp

Создает новую операцию stablehlo.subtract .

MlirOp Subtract(MlirOp &lhs, MlirOp &rhs);

stablehlo::TanOp

Создает новую операцию stablehlo.tan .

MlirOp Tan(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::TanhOp

Создает новую операцию stablehlo.tanh .

MlirOp Tanh(MlirOp &operand, /*optional*/::mlir::stablehlo::ResultAccuracyAttr result_accuracy = {});

stablehlo::TorchIndexSelectOp

Создает новую операцию stablehlo.torch_index_select .

MlirOp TorchIndexSelect(Type resultType, MlirOp &operand, MlirOp &index, uint64_t dim, uint64_t batch_dims);

stablehlo::TransposeOp

Создает новую операцию stablehlo.transpose .

MlirOp Transpose(MlirOp &operand, ::llvm::ArrayRef<int64_t> permutation);

stablehlo::TupleOp

Создает новую операцию stablehlo.tuple .

MlirOp Tuple(MlirBuilder &builder, ArrayRef<MlirOp> val);

stablehlo::UnaryEinsumOp

Создает новую операцию stablehlo.unary_einsum .

MlirOp UnaryEinsum(Type resultType, MlirOp &operand, ::llvm::StringRef einsum_config);

stablehlo::UniformDequantizeOp

Создает новую операцию stablehlo.uniform_dequantize .

MlirOp UniformDequantize(MlirOp &operand);

stablehlo::UniformQuantizeOp

Создает новую операцию stablehlo.uniform_quantize .

MlirOp UniformQuantize(Type resultType, MlirOp &operand);

stablehlo::WhileOp

Создает новую операцию stablehlo.while .

Эта операция имеет область тела, созданную с помощью функции обратного вызова.

SmallVector<MlirOp> While(MlirBuilder &builder, ArrayRef<MlirOp> operand, const RegionBuilderCallback &cond, const RegionBuilderCallback &body);

stablehlo::XorOp

Создает новую операцию stablehlo.xor .

MlirOp Xor(MlirOp &lhs, MlirOp &rhs);

Пропущенные операции

Невозможно создать конструктор для следующих операций: