昇腾社区首页
中文
注册

SetValueOperation

功能

实现将输入src中的内容拷贝到输入dst指定位置中的功能。

例如:dst: (a,b,c), src: (d,e,f)

dst[starts[0]: ends[0], starts[1]: ends[1], starts[2]: ends[2]] = src

其中,starts[0]: ends[0]长度为src第0维的维度大小,starts[1]: ends[1]长度为src第1维的维度大小,starts[2]: ends[2]长度为src第2维的维度大小。

约束

  • 输入src和输入dst的维数须相同。
  • 输入src的各维度大小要求小于或等于输入dst对应维度大小。
  • 输入src和输入dst的各维度要求有一个或两个维度不相同,且需要满足:
    • 如果有一个维度不相同,则这个维度不能是最高维(第0维)。
    • 如果有两个维度不相同,则其中一个不同的维度必须是最高维(第0维)。

定义

struct SetValueParam {
     SVector<int64_t> starts;
     SVector<int64_t> ends;
     SVector<int64_t> strides;
};

成员

成员名称

描述

starts

每个轴的start。

ends

每个轴的end。

strides

拷贝时步长,当前仅支持strides为全1。

输入

参数

维度

数据类型

格式

src

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/int32/int64

ND

dst

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/int32/int64

ND

输出

参数

维度

数据类型

格式

dst

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/int32/int64

ND

输出dst与同名输入指向同一地址,即进行原地修改。