426 lines
12 KiB
YAML
Executable File
426 lines
12 KiB
YAML
Executable File
# The apis in this file are unstandardized that may caused by a variety of reasons,
|
|
# we are trying to fix these apis and will move standardized apis into ops.yaml.
|
|
|
|
- op : add
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
spmd_rule : ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : add
|
|
inplace : (x -> out)
|
|
backward : add_grad
|
|
traits : pir::BinaryElementWiseTrait
|
|
|
|
- op : add_n
|
|
args : (Tensor[] inputs)
|
|
output : Tensor
|
|
invoke : add_n_impl(inputs)
|
|
backward : add_n_grad
|
|
|
|
- op : arange
|
|
args : (Tensor start, Tensor end, Tensor step, DataType dtype, Place place={})
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : ArangeTensorInferMeta
|
|
param : [start, end, step, dtype]
|
|
kernel :
|
|
func : arange_tensor
|
|
param : [start, end, step]
|
|
data_type : dtype
|
|
backend : place
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : assign
|
|
args : (Tensor x)
|
|
output : Tensor
|
|
infer_meta :
|
|
func : UnchangedInferMeta
|
|
spmd_rule : AssignInferSpmd
|
|
kernel :
|
|
func : assign
|
|
backward : assign_grad
|
|
inplace : (x -> out)
|
|
|
|
- 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
|
|
|
|
- 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]
|
|
kernel :
|
|
func : c_embedding
|
|
param : [weight, x, start_index, vocab_size]
|
|
data_type : weight
|
|
backward : c_embedding_grad
|
|
|
|
- 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
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : div_scale
|
|
args : (Tensor x, Scalar scale=1.0)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : UnchangedInferMeta
|
|
param : [x]
|
|
spmd_rule : DivScaleInferSpmd
|
|
kernel :
|
|
func : div_scale {dense -> dense}
|
|
data_type : x
|
|
backward : div_scale_grad
|
|
|
|
- op : divide
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
spmd_rule : ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : divide
|
|
inplace: (x -> out)
|
|
backward : divide_grad
|
|
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]
|
|
spmd_rule : EinsumInferSpmd
|
|
kernel :
|
|
func : einsum
|
|
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
|
|
backward : elementwise_pow_grad
|
|
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
|
|
|
|
- op : embedding_grad_dense
|
|
args : (Tensor x, Tensor weight, Tensor out_grad, int64_t padding_idx=-1, bool sparse=false)
|
|
output : Tensor(weight_grad)
|
|
infer_meta :
|
|
func : UnchangedInferMeta
|
|
param : [weight]
|
|
kernel :
|
|
func : embedding_grad
|
|
data_type : weight
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : equal
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : CompareInferMeta
|
|
spmd_rule: ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : equal
|
|
inplace: (x -> out)
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : floor_divide
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
kernel :
|
|
func : floor_divide
|
|
inplace: (x -> out)
|
|
traits : paddle::dialect::ForwardOnlyTrait, pir::BinaryElementWiseTrait
|
|
|
|
- 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
|
|
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)
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : fused_gemm_epilogue
|
|
args : (Tensor x, Tensor y, Tensor bias, bool trans_x, bool trans_y, str activation)
|
|
output : Tensor(out), Tensor(reserve_space)
|
|
invoke : fused_gemm_epilogue_impl(x, y, bias, trans_x, trans_y, activation)
|
|
backward: fused_gemm_epilogue_grad
|
|
optional: reserve_space
|
|
|
|
- op : greater_equal
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : CompareInferMeta
|
|
spmd_rule : ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : greater_equal
|
|
inplace: (x -> out)
|
|
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
|
|
inplace: (x -> out)
|
|
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
|
|
|
|
- op : less_equal
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : CompareInferMeta
|
|
spmd_rule : ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : less_equal
|
|
inplace: (x -> out)
|
|
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
|
|
inplace: (x -> out)
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- 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
|
|
backward : matmul_grad
|
|
|
|
- op : maximum
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
spmd_rule : ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : maximum
|
|
backward : maximum_grad
|
|
traits : pir::BinaryElementWiseTrait
|
|
|
|
- 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
|
|
|
|
- op : minimum
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
kernel :
|
|
func : minimum
|
|
backward : minimum_grad
|
|
traits : pir::BinaryElementWiseTrait
|
|
|
|
- op : mm_out_dtype
|
|
args : (Tensor x, Tensor y, DataType out_dtype)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : MmOutDtypeInferMeta
|
|
kernel :
|
|
func : mm_out_dtype
|
|
data_type : x
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : multiply
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
spmd_rule : ElementwiseBinaryWithPartialInferSpmd
|
|
kernel :
|
|
func : multiply {dense, dense -> dense},
|
|
multiply_sr {selected_rows, dense -> selected_rows}
|
|
inplace : (x -> out)
|
|
backward : multiply_grad
|
|
traits : pir::BinaryElementWiseTrait
|
|
|
|
- op : not_equal
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : CompareInferMeta
|
|
spmd_rule : ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : not_equal
|
|
inplace: (x -> out)
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : range_v2
|
|
args : (Tensor start, Tensor end, Tensor step, DataType dtype, Place place={})
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : RangeTensorInferMeta
|
|
param : [start, end, step, dtype]
|
|
kernel :
|
|
func : range_tensor
|
|
param : [start, end, step]
|
|
data_type : dtype
|
|
backend : place
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : remainder
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor (out)
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
param: [x, y]
|
|
kernel :
|
|
func : remainder
|
|
inplace : (x -> out)
|
|
backward: remainder_grad
|
|
traits : pir::BinaryElementWiseTrait
|
|
|
|
- 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
|
|
|
|
- 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
|
|
|
|
- op : subtract
|
|
args : (Tensor x, Tensor y)
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : ElementwiseInferMeta
|
|
spmd_rule : ElementwiseBinaryInferSpmd
|
|
kernel :
|
|
func : subtract
|
|
inplace : (x -> out)
|
|
backward : subtract_grad
|
|
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
|
|
traits : paddle::dialect::ForwardOnlyTrait
|
|
|
|
- op : tensor_unfold
|
|
args : (Tensor input, int64_t axis, int64_t size, int64_t step)
|
|
output : Tensor
|
|
infer_meta :
|
|
func : StridedUnChangedInferMeta
|
|
param : [input]
|
|
kernel :
|
|
func : tensor_unfold
|
|
backward : tensor_unfold_grad
|
|
no_need_buffer : input
|
|
|
|
- op : tile
|
|
args : (Tensor x, IntArray repeat_times = {})
|
|
output : Tensor(out)
|
|
infer_meta :
|
|
func : TileInferMeta
|
|
spmd_rule : TileInferSpmdDynamic
|
|
kernel :
|
|
func : tile
|
|
backward : tile_grad
|
|
|
|
# The `axis` argument of Python API paddle.unique is not vector
|
|
- op : unique
|
|
args : (Tensor x, bool return_index, bool return_inverse, bool return_counts, int[] axis, DataType dtype=DataType::INT64)
|
|
output : Tensor(out), Tensor(indices), Tensor(inverse), Tensor(counts)
|
|
infer_meta :
|
|
func : UniqueInferMeta
|
|
spmd_rule : UniqueInferSpmd
|
|
kernel :
|
|
func : unique
|
|
data_type : x
|
|
optional : indices, inverse, counts
|
|
traits : paddle::dialect::ForwardOnlyTrait
|