# The operators included in this file are: # 1) Operators defined only in PIR, dynamic graphs do not exist; # 2) The definitions of static graphs and dynamic graphs are inconsistent, but the final definition plan has not yet been clarified. # After the definition is clearly defined, migrate to paddle/phi/ops/yaml/inconsistent/update_ops.yaml or paddle/phi/ops/yaml/ops.yaml - op : add args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : ElementwiseInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : add data_type: x inplace : (x -> out) backward : add_grad interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface traits : pir::BinaryElementWiseTrait # this add_n is only for ops_api_gen.py and onednn - op : add_n args : (Tensor[] inputs) output : Tensor(out) infer_meta: func: AddNInferMeta spmd_rule : AddNInferSpmd param: [inputs] kernel: func: add_n param: [inputs] backward : add_n_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : anchor_generator args: (Tensor input, float[] anchor_sizes, float[] aspect_ratios, float[] variances, float[] stride={16.0, 16.0}, float offset=0.5) output: Tensor (anchors), Tensor (variances_out) infer_meta: func: AnchorGeneratorInferMeta kernel: func: anchor_generator data_type: input - op : assign args : (Tensor x) output : Tensor infer_meta : func : UnchangedInferMeta spmd_rule : AssignInferSpmd kernel : func : assign_raw backward : assign_grad inplace : (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface - op : assign_value args : (int[] shape, DataType dtype, Scalar[] values, Place place = {}) output : Tensor(out) infer_meta : func : AssignValueInferMeta param: [shape, dtype] kernel : func : assign_value param : [shape, dtype, values] backend: place> data_type : dtype interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : batch_norm args : (Tensor x, Tensor mean, Tensor variance, Tensor scale, Tensor bias, bool is_test, float momentum, float epsilon, str data_format, bool use_global_stats, bool trainable_statistics) output : Tensor(out), Tensor(mean_out), Tensor(variance_out), Tensor(saved_mean), Tensor(saved_variance), Tensor(reserve_space) infer_meta: func : BatchNormInferMeta spmd_rule : BatchNormInferSpmd kernel : func : batch_norm data_type : x view : (mean -> mean_out), (variance -> variance_out) backward : batch_norm_grad optional : scale, bias, reserve_space interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface - op : beam_search_decode args: (Tensor ids, Tensor scores, int beam_size, int end_id) output: Tensor (sentence_ids), Tensor (sentence_scores) infer_meta: func: BeamSearchDecodeInferMeta kernel: func: beam_search_decode - op : c_embedding args : (Tensor weight, Tensor x, int64_t start_index=0, int64_t vocab_size=-1) output : Tensor(out) infer_meta : func : CEmbeddingInferMeta param : [weight, x, start_index] spmd_rule: CEmbeddingInferSpmd kernel : func : c_embedding param : [weight, x, start_index, vocab_size] data_type : weight backward : c_embedding_grad - op : coalesce_tensor_ args : (Tensor[] input, DataType dtype, bool copy_data = false, bool set_constant = false, bool persist_output = false, float constant = 0.0, bool use_align = true, int align_size = -1, int size_of_dtype = -1, int64_t[] concated_shapes = {}, int64_t[] concated_ranks = {}) output : Tensor[](output){input.size()}, Tensor(fused_output) infer_meta : func : CoalesceTensorInferMeta spmd_rule : CoalesceTensorInferSpmd kernel : func : coalesce_tensor data_type : dtype inplace: (input -> output) interfaces : paddle::dialect::InferSymbolicShapeInterface - op : comm_init_all args : (int[] devices={}, int ring_id=0) output : infer_meta : func : CommInitAllInferMeta param : [devices, ring_id] kernel : func : comm_init_all data_type : DataType::FLOAT32 - op : dequantize_linear args : (Tensor x, Tensor scale, Tensor zero_point, Tensor in_accum, Tensor in_state, int quant_axis = 0, int bit_length = 8, int qmin = -128, int qmax = 127, int round_type = 0, bool is_test = true, bool only_observer = false) output : Tensor(y), Tensor(out_state), Tensor(out_accum), Tensor(out_scale) infer_meta : func : QuantizeLinearInferMeta param : [x, scale, zero_point, in_accum, in_state, quant_axis, bit_length, round_type, is_test, only_observer] kernel : func : quantize_linear param : [x, scale, zero_point, in_accum, in_state, quant_axis, bit_length, qmin, qmax, round_type, is_test, only_observer] data_type : x optional : scale, in_accum, in_state, out_state, out_accum, out_scale inplace : (scale -> out_scale, in_accum -> out_accum, in_state -> out_state) interfaces : paddle::dialect::InferSymbolicShapeInterface - op : distribute_fpn_proposals args : (Tensor fpn_rois, Tensor rois_num, int min_level, int max_level, int refer_level, int refer_scale, bool pixel_offset) output : Tensor[](multi_fpn_rois){max_level - min_level + 1}, Tensor[](multi_level_rois_num){max_level - min_level + 1}, Tensor(restore_index) infer_meta : func : DistributeFpnProposalsInferMeta kernel : func : distribute_fpn_proposals data_type : fpn_rois optional : rois_num, multi_level_rois_num interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : divide args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : ElementwiseInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : divide inplace: (x -> out) data_transform : support_trans_dtype : x, y backward : divide_grad interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface traits : pir::BinaryElementWiseTrait - op : einsum args : (Tensor[] x, str equation) output : Tensor(out), Tensor[](inner_cache){x.size()}, Tensor[](xshape){x.size()} infer_meta : func : EinsumRawInferMeta param : [x, equation] kernel : func : einsum optional : inner_cache, xshape backward : einsum_grad - op : elementwise_pow args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : ElementwiseInferMeta spmd_rule: ElementwiseBinaryInferSpmd kernel : func : elementwise_pow data_transform : support_trans_dtype : x, y backward : elementwise_pow_grad interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface traits : pir::BinaryElementWiseTrait - op : embedding args : (Tensor x, Tensor weight, int64_t padding_idx=-1, bool sparse=false) output : Tensor infer_meta : func : EmbeddingInferMeta param : [x, weight, padding_idx] spmd_rule: EmbeddingInferSpmdUnsupportedVocabParallel kernel : func : embedding {dense, dense -> dense} sparse_weight_embedding {dense, selected_rows -> dense} param : [x, weight, padding_idx] data_type : weight backward : embedding_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : equal args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : CompareInferMeta spmd_rule: ElementwiseBinaryInferSpmd kernel : func : equal data_transform : support_trans_dtype : x, y inplace: (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : feed args : (str name, int col) output : Tensor(out) interfaces : paddle::dialect::InferSymbolicShapeInterface traits: pir::ImmutableLayoutTrait - op : floor_divide args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : ElementwiseInferMeta kernel : func : floor_divide data_transform : support_trans_dtype : x, y inplace: (x -> out) traits : paddle::dialect::ForwardOnlyTrait, pir::BinaryElementWiseTrait interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface - op : fused_adam_ args : (Tensor[] params, Tensor[] grads, Tensor learning_rate, Tensor[] moments1, Tensor[] moments2, Tensor[] moments2_max, Tensor[] beta1_pows, Tensor[] beta2_pows, Tensor[] master_params, Tensor skip_update, Scalar beta1, Scalar beta2, Scalar epsilon, int chunk_size, float weight_decay, bool use_adamw, bool multi_precision, bool use_global_beta_pow, bool amsgrad = false) output : Tensor[](params_out){params.size()}, Tensor[](moments1_out){params.size()}, Tensor[](moments2_out){params.size()}, Tensor[](moments2_max_out){params.size()}, Tensor[](beta1_pows_out){params.size()}, Tensor[](beta2_pows_out){params.size()}, Tensor[](master_params_out){params.size()} infer_meta : func : FusedAdamInferMeta kernel : func : fused_adam data_type : params optional : moments2_max, skip_update, master_params, moments2_max_out, master_params_out inplace : (params -> params_out), (moments1 -> moments1_out), (moments2 -> moments2_out), (moments2_max -> moments2_max_out), (beta1_pows -> beta1_pows_out), (beta2_pows -> beta2_pows_out), (master_params -> master_params_out) - op : fused_gate_attention args: (Tensor query, Tensor key, Tensor query_weight, Tensor key_weight, Tensor value_weight, Tensor qkv_weight, Tensor nonbatched_bias, Tensor src_mask, Tensor gate_weight, Tensor gate_bias, Tensor out_linear_weight, Tensor out_linear_bias, bool has_gating = true, bool merge_qkv = true, bool use_flash_attn = false) output: Tensor (query_transpose_out), Tensor (key_transpose_out), Tensor (value_transpose_out), Tensor (qkv_transpose_out), Tensor (softmax_out), Tensor (softmax_lse), Tensor (fmha_out), Tensor (gate_out), Tensor (out) infer_meta: func: FusedGateAttentionInferMeta kernel: func: fused_gate_attention optional: key, query_weight, key_weight, value_weight, qkv_weight, nonbatched_bias, gate_weight, gate_bias, query_transpose_out, key_transpose_out, value_transpose_out, qkv_transpose_out, softmax_lse, gate_out intermediate: query_transpose_out, key_transpose_out, value_transpose_out, qkv_transpose_out, softmax_out, softmax_lse, fmha_out, gate_out backward: fused_gate_attention_grad - op : fused_multi_transformer_int8 args: (Tensor x, Tensor[] ln_scale, Tensor[] ln_bias, Tensor[] qkv_w, Tensor[] qkv_bias, Tensor[] cache_kv, Tensor time_step, Tensor src_mask, Tensor[] out_linear_w, Tensor[] out_linear_bias, Tensor[] ffn_ln_scale, Tensor[] ffn_ln_bias, Tensor[] ffn1_weight, Tensor[] ffn1_bias, Tensor[] ffn2_weight, Tensor[] ffn2_bias, Tensor[] qkv_out_scale, Tensor[] out_linear_out_scale, Tensor[] ffn1_out_scale, Tensor[] ffn2_out_scale, bool pre_layer_norm = true, float epsilon = 1e-5, float dropout_rate = .5f, bool is_test = false, str dropout_implementation = "downgrade_in_infer", str act_method = "gelu", bool trans_qkvw = true, int ring_id = -1, int num_head = 0, int dim_head = 0, int dim_ffn = 0, float[] qkv_in_scale = {}, float[] out_linear_in_scale = {}, float[] ffn1_in_scale = {}, float[] ffn2_in_scale = {}, int quant_round_type = 1, float quant_max_bound = 127.0, float quant_min_bound = -127.0) output: Tensor[](cache_kv_out){cache_kv.size()}, Tensor(out) infer_meta: func: FusedMultiTransformerInt8InferMeta kernel: func: fused_multi_transformer_int8 optional: qkv_bias, cache_kv, time_step, src_mask, out_linear_bias, ffn1_bias, ffn2_bias, qkv_out_scale, out_linear_out_scale, ffn1_out_scale, ffn2_out_scale, cache_kv_out data_transform : skip_transform : time_step - op : get_tensor_from_selected_rows args : (Tensor x) output : Tensor(out) infer_meta : func : UnchangedInferMeta kernel: func: get_tensor_from_selected_rows {selected_rows -> dense} interfaces : paddle::dialect::InferSymbolicShapeInterface - op : greater_equal args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : CompareInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : greater_equal data_transform : support_trans_dtype : x, y inplace: (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : greater_than args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : CompareInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : greater_than data_transform : support_trans_dtype : x, y inplace: (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : hardswish args : (Tensor x) output : Tensor(out) infer_meta : func : UnchangedInferMeta param : [x] kernel : func : hardswish inplace : (x -> out) backward : hardswish_grad interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface - op : hash args: (Tensor x, int num_hash = 1, int64_t mod_by = 100000, bool runtime_shape = true) output: Tensor (out) infer_meta: func: HashInferMeta param: [x, num_hash, mod_by] kernel: func: hash param: [x, num_hash, mod_by] data_type: x - op : lars_momentum_ args: (Tensor[] param, Tensor[] grad, Tensor[] velocity, Tensor[] learning_rate, Tensor[] master_param, float mu, float lars_coeff=0.001f, float[] lars_weight_decay={0.0005f}, float epsilon=0.0f, bool multi_precision=false, float rescale_grad=1.0f) output: Tensor[](param_out){param.size()}, Tensor[](velocity_out){param.size()}, Tensor[](master_param_out){param.size()} infer_meta: func: LarsMomentumInferMeta param: [param, velocity, learning_rate, grad, master_param, lars_weight_decay, mu, lars_coeff, epsilon, multi_precision, rescale_grad] kernel: func: lars_momentum param: [param, velocity, learning_rate, grad, master_param, lars_weight_decay, mu, lars_coeff, epsilon, multi_precision, rescale_grad] data_type: param optional: master_param, master_param_out inplace : (param -> param_out), (velocity -> velocity_out), (master_param -> master_param_out) traits : pir::SideEffectTrait - op : legacy_matmul args : (Tensor x, Tensor y, bool transpose_x = false, bool transpose_y = false, float alpha=1.0f) output : Tensor(out) infer_meta : func : MatmulInferMeta param: [x, y, transpose_x, transpose_y] kernel : func : legacy_matmul param: [x, y, transpose_x, transpose_y, alpha] backward : legacy_matmul_grad - op : legacy_reshape args : (Tensor x, IntArray shape) output : Tensor(out) infer_meta : func : ReshapeInferMeta spmd_rule : ReshapeInferSpmd local_shape: out global_shape: out kernel : func : reshape inplace : (x -> out) view: (x -> out) backward: legacy_reshape_grad - op : less_equal args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : CompareInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : less_equal data_transform : support_trans_dtype : x, y inplace: (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : less_than args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : CompareInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : less_than data_transform : support_trans_dtype : x, y inplace: (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : load_combine args : (str file_path, bool load_as_fp16, bool model_from_memory) output : Tensor[](Out) kernel: func: load_combine param: [file_path, load_as_fp16, model_from_memory] optional : Out - op : lod_array_length args : (Tensor[] x) output : Tensor(out) - op : lod_reset args: (Tensor x, Tensor y, int[] target_lod={}, bool append=false) output: Tensor(out) infer_meta: func: LodResetInferMeta kernel: func: lod_reset optional: y inplace: (x -> out) - op : lookup_table args : (Tensor w, Tensor ids, bool is_sparse = false, bool is_distributed = false, int64_t padding_idx = -1, bool remote_prefetch = false, str entry_config = "", bool is_test = false, str entry = "none", str table_class = "none", str[] table_names = {}, int trainer_id = 0, int slot = 0, bool grad_inplace = false, str[] epmap = {}, int64_t[] height_sections = {}) output : Tensor (out) infer_meta: func: LookupTableInferMeta param: [w, ids] kernel: func : lookup_table {dense, dense -> dense} lookup_table_sr {selected_rows, dense -> selected_rows} param: [w, ids, is_sparse, is_distributed, padding_idx, remote_prefetch, entry_config, is_test, entry, table_class, table_names, trainer_id, grad_inplace, epmap, height_sections] data_type: w backward: lookup_table_grad - op : lrn args: (Tensor x, int n = 5, float k = 2.0, float alpha = 0.0001, float beta = 0.75, str data_format = "AnyLayout") output: Tensor (out), Tensor (mid_out) infer_meta: func: LrnInferMeta param : [x, n] kernel: func: lrn data_type: x backward: lrn_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : matmul args : (Tensor x, Tensor y, bool transpose_x = false, bool transpose_y = false) output : Tensor infer_meta : func : MatmulInferMeta spmd_rule : MatmulInferSpmd kernel : func : matmul data_transform : support_trans_dtype : x, y backward : matmul_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : matmul_with_flatten args : (Tensor x, Tensor y, int x_num_col_dims = 1, int y_num_col_dims = 1) output : Tensor infer_meta : func : MatmulWithFlattenInferMeta kernel : func : matmul_with_flatten data_type : x backward : matmul_with_flatten_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : maximum args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : ElementwiseInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : maximum data_transform : support_trans_dtype : x, y backward : maximum_grad interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface traits : pir::BinaryElementWiseTrait - op : memcpy args : (Tensor x, int dst_place_type) output : Tensor(out) infer_meta: func: UnchangedInferMeta param: [x] kernel: func : memcpy param: [x, dst_place_type] interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : min args : (Tensor x, IntArray axis={}, bool keepdim=false) output : Tensor(out) infer_meta : func : StrictReduceIntArrayAxisInferMeta spmd_rule : ReductionMinInferSpmdDynamic kernel : func : min backward : min_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : minimum args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : ElementwiseInferMeta kernel : func : minimum data_transform : support_trans_dtype : x, y backward : minimum_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : multiply args : (Tensor x, Tensor y) output : Tensor infer_meta : func : ElementwiseInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : multiply {dense, dense -> dense}, multiply_sr {selected_rows, dense -> selected_rows} inplace : (x -> out) data_transform : support_trans_dtype : x, y backward : multiply_grad interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface traits : pir::BinaryElementWiseTrait - op : nop args : (Tensor x) output : Tensor(out) infer_meta : func : UnchangedInferMeta kernel : func : nop inplace: (x -> out) interfaces : paddle::dialect::ParseKernelKeyInterface, paddle::dialect::LayoutTransformationInterface traits : pir::SideEffectTrait, paddle::dialect::ForwardOnlyTrait, pir::BinaryElementWiseTrait - op : not_equal args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : CompareInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : not_equal data_transform : support_trans_dtype : x, y inplace: (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : partial_recv args : (int ring_id = 0, int peer = 0, DataType dtype=DataType::FLOAT32, int[] out_shape= {}, int num = 1, int id = 0) output : Tensor(out) infer_meta : func: PartialRecvInferMeta param: [peer, dtype, out_shape, num, id] kernel : func : partial_recv data_type : dtype param: [peer, dtype, out_shape, num, id] - op : partial_send args: (Tensor x, int ring_id = 0, int peer = 0, int num = 1, int id = 0) output : infer_meta: func: PartialSendInferMeta param: [x, peer, num, id] kernel: func: partial_send param: [x, peer, num, id] - op : print args : (Tensor in, int first_n, str message, int summarize, bool print_tensor_name = true, bool print_tensor_type = true, bool print_tensor_shape = true, bool print_tensor_layout = true, bool print_tensor_lod = true, str print_phase = "BOTH", bool is_forward = true) output : Tensor(out) infer_meta: func: UnchangedInferMeta param: [in] kernel : func : print_kernel param: [in, first_n, message, summarize, print_tensor_name, print_tensor_type, print_tensor_shape, print_tensor_layout, print_tensor_lod, print_phase, is_forward] interfaces : paddle::dialect::InferSymbolicShapeInterface traits : pir::SideEffectTrait backward: print_grad # Note: dequantize_linear and quantize_linear are supported using one op maker in fluid, the out_scale can't be used in dequantize_linear # so ,the out_scale is optional. Currently, we can't modify the op definition of dequantize_linear/quantize_linear and it can cause incompatibility problem # We need modify dequantize_linear/quantize_linear yaml and make it more reasonable when we abandon Fluid op. - op : quantize_linear args : (Tensor x, Tensor scale, Tensor zero_point, Tensor in_accum, Tensor in_state, int quant_axis = 0, int bit_length = 8, int qmin = -128, int qmax = 127, int round_type = 0, bool is_test = true, bool only_observer = false) output : Tensor(y), Tensor(out_state), Tensor(out_accum), Tensor(out_scale) infer_meta : func : QuantizeLinearInferMeta param : [x, scale, zero_point, in_accum, in_state, quant_axis, bit_length, round_type, is_test, only_observer] kernel : func : quantize_linear param : [x, scale, zero_point, in_accum, in_state, quant_axis, bit_length, qmin, qmax, round_type, is_test, only_observer] data_type : x optional : scale, in_accum, in_state, out_state, out_accum, out_scale inplace : (scale -> out_scale, in_accum -> out_accum, in_state -> out_state) interfaces : paddle::dialect::InferSymbolicShapeInterface - op : recv_v2 args : (int[] out_shape = {}, DataType dtype = DataType::FLOAT32, int peer = 0, int ring_id = 0, bool use_calc_stream = false, bool dynamic_shape = false) output : Tensor(out) infer_meta: func: RecvV2InferMeta param: [ring_id, dynamic_shape, peer, out_shape, dtype] kernel : func : recv_v2 param : [ring_id, dynamic_shape, peer, out_shape, dtype, use_calc_stream] data_type : dtype interfaces : paddle::dialect::InferSymbolicShapeInterface - op : remainder args : (Tensor x, Tensor y) output : Tensor (out) infer_meta : func : ElementwiseInferMeta param: [x, y] kernel : func : remainder data_transform : support_trans_dtype : x, y inplace : (x -> out) interfaces : paddle::dialect::InferSymbolicShapeInterface, paddle::dialect::LayoutTransformationInterface backward: remainder_grad traits : pir::BinaryElementWiseTrait - op : row_conv args : (Tensor x, Tensor filter) output : Tensor(out) infer_meta : func: RowConvInferMeta kernel : func : row_conv - op : save_combine args : (Tensor[] x, str file_path, bool overwrite, bool save_as_fp16, bool save_to_memory) output : Tensor(out) kernel: func: save_combine_tensor param: [x, file_path, overwrite, save_as_fp16, save_to_memory] optional : out interfaces : paddle::dialect::ParseKernelKeyInterface - op : seed args : (int seed, bool deterministic, str rng_name, bool force_cpu) output : Tensor(out) infer_meta: func: SeedInferMeta param: [seed] kernel: func: seed traits : pir::SideEffectTrait interfaces : paddle::dialect::InferSymbolicShapeInterface - op : send_v2 args : (Tensor x, int ring_id = 0, int peer = 0, bool use_calc_stream = false, bool dynamic_shape = false) output : infer_meta: func: SendV2InferMeta param: [peer, ring_id] kernel : func : send_v2 param : [x, ring_id, dynamic_shape, peer, use_calc_stream] traits : pir::SideEffectTrait - op : sequence_expand args: (Tensor x, Tensor y, int ref_level = -1) output: Tensor (out) infer_meta: func: SequenceExpandInferMeta kernel: func: sequence_expand data_type: x backward: sequence_expand_grad no_need_buffer: y - op : sequence_softmax args: (Tensor x) output: Tensor (out) infer_meta: func: SequenceSoftmaxInferMeta kernel: func: sequence_softmax param: [x] backward: sequence_softmax_grad - op : set_value args : (Tensor x, IntArray starts, IntArray ends, IntArray steps, int64_t[] axes, int64_t[] decrease_axes, int64_t[] none_axes, int64_t[] shape, Scalar[] values) output : Tensor(out) inplace: (x -> out) infer_meta : func : SetValueInferMeta param : [x] kernel : func : set_value backward: set_value_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : shadow_feed args : (Tensor x, int dst_place_type) output : Tensor(out) infer_meta: func: UnchangedInferMeta param: [x] kernel: func: shadow_feed param: [x, dst_place_type] interfaces : paddle::dialect::InferSymbolicShapeInterface - op : shadow_feed_tensors args : (Tensor[] x, int dst_place_type) output : Tensor[](out){x.size()} infer_meta: func: UnchangedVectorInferMeta param: [x] kernel: func: shadow_feed_tensors param: [x, dst_place_type] - op : share_data_ args : (Tensor x) output : Tensor(out) infer_meta: func: UnchangedInferMeta spmd_rule : ElementwiseUnaryInferSpmd param: [x] kernel: func: share_data param: [x] inplace : (x -> out) traits : paddle::dialect::ForwardOnlyTrait interfaces : paddle::dialect::InferSymbolicShapeInterface - op : soft_relu args : (Tensor x, float threshold = 40.0f) output : Tensor(out) infer_meta : func : UnchangedInferMeta param : [x] kernel : func : soft_relu backward : soft_relu_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : softmax args : (Tensor x, int axis) output : Tensor(out) infer_meta : func : SoftmaxInferMeta spmd_rule : SoftmaxInferSpmd kernel : func : softmax inplace : (x -> out) backward : softmax_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : sparse_momentum args: (Tensor param, Tensor grad, Tensor velocity, Tensor index, Tensor learning_rate, Tensor master_param,float mu, Scalar axis=0, bool use_nesterov=false,str regularization_method="", float regularization_coeff=0.0f, bool multi_precision=false, float rescale_grad=1.0f) output: Tensor(param_out), Tensor(velocity_out), Tensor(master_param_out) infer_meta: func: SparseMomentumInferMeta param: [param, grad, velocity, index, learning_rate] kernel: func: sparse_momentum data_type: param optional: master_param, master_param_out - op : straight_through_estimator_grad args: (Tensor out_grad) output: Tensor(x_grad) infer_meta: func: StraightThroughEstimatorInferMeta kernel: func: straight_through_estimator_grad - op : subtract args : (Tensor x, Tensor y) output : Tensor(out) infer_meta : func : ElementwiseInferMeta spmd_rule : ElementwiseBinaryInferSpmd kernel : func : subtract inplace : (x -> out) data_transform : support_trans_dtype : x, y backward : subtract_grad interfaces : paddle::dialect::InferSymbolicShapeInterface traits : pir::BinaryElementWiseTrait - op : sync_comm_stream args : (Tensor[] x, int ring_id = 0) output : Tensor[](out){x.size()} infer_meta : func : UnchangedVectorInferMeta param : [x] kernel : func : sync_comm_stream data_type : DataType::FLOAT32 inplace: (x -> out) - op : tile args : (Tensor x, IntArray repeat_times = {}) output : Tensor(out) infer_meta : func : TileInferMeta spmd_rule : TileInferSpmdDynamic kernel : func : tile backward : tile_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op : unique args : (Tensor x, bool return_index=false, bool return_inverse=false, bool return_counts=false, int[] axis={}, DataType dtype=DataType::INT64, bool is_sorted=false) output : Tensor(out), Tensor(indices), Tensor(inverse), Tensor(counts) optional : indices, counts infer_meta : func : UniqueRawInferMeta spmd_rule : UniqueInferSpmdStatic kernel : func : unique data_type : x interfaces : paddle::dialect::ParseKernelKeyInterface interfaces : paddle::dialect::InferSymbolicShapeInterface traits : paddle::dialect::ForwardOnlyTrait - op : write_to_array args : (Tensor i, Tensor x) output : Tensor[](out) - op: c_softmax_with_multi_label_cross_entropy args: (Tensor logits, Tensor label, Tensor smooth_weight, int64_t ignore_index=-100, bool sum_multi_label_loss=true, int ring_id=0, int rank=0, int nranks=0) output: Tensor(softmax), Tensor(loss) infer_meta: func : CSoftmaxWithMultiLabelCrossEntropyInferMeta spmd_rule : CSoftmaxWithMultiLabelCrossEntropyInferSpmd param: [logits, label, smooth_weight, ignore_index, sum_multi_label_loss, rank, nranks] kernel: func: c_softmax_with_multi_label_cross_entropy data_type : logits param: [logits, label, smooth_weight, ignore_index, sum_multi_label_loss, rank, nranks] backward: c_softmax_with_multi_label_cross_entropy_grad - op: faster_tokenizer args: (Tensor vocab, Tensor text, Tensor text_pair, bool do_lower_case = false, bool is_split_into_words = false, int max_seq_len = 0, bool pad_to_max_seq_len = false) output: Tensor (input_ids), Tensor (segment_ids) infer_meta: func: FasterTokenizerInferMeta kernel: func: faster_tokenizer optional: text_pair - op: fused_attention args: (Tensor x, Tensor ln_scale, Tensor ln_bias, Tensor qkv_weight, Tensor qkv_bias, Tensor cache_kv, Tensor src_mask, Tensor out_linear_weight, Tensor out_linear_bias, Tensor ln_scale_2, Tensor ln_bias_2, int num_heads, bool transpose_qkv_wb, bool pre_layer_norm, float epsilon, float attn_dropout_rate, bool is_test, bool attn_dropout_fix_seed, int attn_dropout_seed, str attn_dropout_implementation, float dropout_rate, bool dropout_fix_seed, int dropout_seed, str dropout_implementation, float ln_epsilon, bool add_residual, int ring_id) output: Tensor(ln_mean), Tensor(ln_var), Tensor(ln_out), Tensor(qkv_out), Tensor(qkv_bias_out), Tensor(transpose_out_2), Tensor(qk_out), Tensor(qktv_out), Tensor(softmax_out), Tensor(attn_dropout_mask_out), Tensor(attn_dropout_out), Tensor(src_mask_out), Tensor(fmha_out), Tensor(out_linear_out), Tensor(dropout_mask_out), Tensor(ln_mean_2), Tensor(ln_var_2), Tensor(bias_dropout_residual_out), Tensor(cache_kv_out), Tensor(out) kernel: func: fused_attention data_type : x infer_meta: func: FusedAttentionInferMeta optional: cache_kv, ln_scale, ln_bias, qkv_bias, src_mask, out_linear_bias, ln_scale_2, ln_bias_2, ln_mean_2, ln_var_2, bias_dropout_residual_out, cache_kv_out backward: fused_attention_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op: fused_feedforward args: (Tensor x, Tensor dropout1_seed, Tensor dropout2_seed, Tensor linear1_weight, Tensor linear1_bias, Tensor linear2_weight, Tensor linear2_bias, Tensor ln1_scale, Tensor ln1_bias, Tensor ln2_scale, Tensor ln2_bias, bool pre_layer_norm, float ln1_epsilon, float ln2_epsilon, str act_method, float dropout1_prob, float dropout2_prob, str dropout1_implementation, str dropout2_implementation, bool is_test, bool dropout1_fix_seed, bool dropout2_fix_seed, int dropout1_seed_val, int dropout2_seed_val, bool add_residual, int ring_id) output: Tensor(out), Tensor(dropout1_mask), Tensor(dropout2_mask), Tensor(ln1_mean), Tensor(ln1_variance), Tensor(ln2_mean), Tensor(ln2_variance), Tensor(linear1_out), Tensor(ln1_out), Tensor(dropout1_out), Tensor(dropout2_out) kernel: func: fused_feedforward data_type : x infer_meta: func: FusedFeedForwardInferMeta optional: dropout1_seed, dropout2_seed, linear1_bias, linear2_bias, ln1_scale, ln1_bias, ln2_scale, ln2_bias, ln2_mean, ln2_variance, ln1_mean, ln1_variance, ln1_out backward: fused_feedforward_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op: moving_average_abs_max_scale args: (Tensor x, Tensor in_accum, Tensor in_state, float moving_rate=0.9f, bool is_test=false) output: Tensor(out), Tensor(out_scale), Tensor(out_state), Tensor(out_accum) infer_meta: func: MovingAverageAbsMaxScaleInferMeta param: [x, in_accum, in_state] kernel: func: moving_average_abs_max_scale param: [x, in_accum, in_state, moving_rate, is_test] optional : in_accum, in_state, out, out_state, out_accum inplace : (in_accum -> out_accum), (in_state -> out_state) interfaces : paddle::dialect::InferSymbolicShapeInterface - op: nce args: (Tensor input, Tensor label, Tensor weight, Tensor bias, Tensor sample_weight, Tensor custom_dist_probs, Tensor custom_dist_alias, Tensor custom_dist_alias_probs, int num_total_classes, int[] custom_neg_classes={}, int num_neg_samples=10, int sampler=0, int seed=0, bool is_sparse=false, bool remote_prefetch=false, bool is_test=false) output: Tensor(cost), Tensor(sample_logits), Tensor(sample_labels) infer_meta: func: NceInferMeta kernel: func: nce data_type: input optional: bias, sample_weight, custom_dist_probs, custom_dist_alias, custom_dist_alias_probs intermediate: sample_logits, sample_labels backward: nce_grad interfaces : paddle::dialect::InferSymbolicShapeInterface - op: onednn_to_paddle_layout args: (Tensor x, int dst_layout) output: Tensor(out) infer_meta: func : UnchangedInferMeta param : [x] kernel: func: onednn_to_paddle_layout