Files
paddlepaddle--paddle/paddle/phi/ops/yaml/inconsistent/static_ops.yaml
T
2026-07-13 12:40:42 +08:00

949 lines
34 KiB
YAML

# 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