asc.language.core
GlobalTensor
- class asc.language.core.GlobalTensor(handle: Value)
GlobalTensor用来存放Global Memory(外部存储)的全局数据。 GlobalTensor public成员函数如下。类型T支持基础数据类型以及TensorTrait类型,但需要遵循使用此GlobalTensor的指令的数据类型支持情况。
获取全局数据的地址。 |
|
获取GlobalTensor的shape信息。注意:Shape信息没有默认值,只有通过SetShapeInfo设置过Shape信息后,才可以调用该接口获取正确的ShapeInfo。 |
|
获取GlobalTensor的元素个数。 |
|
获取GlobalTensor的相应偏移位置的值。 |
|
传入全局数据地址,初始化GlobalTensor。 |
|
设置GlobalTensor是否使能L2 Cache,默认使能L2 Cache。 |
|
设置GlobalTensor的shape信息。 |
|
设置GlobalTensor相应偏移位置的值。 |
LocalMemAllocator
- class asc.language.core.LocalMemAllocator(hard: Hardware = Hardware.UB)
LocalMemAllocator是在使用Ascend C静态Tensor编程方式时用于内存管理的类,用户无需构建TPipe/TQue, 而是直接创建LocalTensor对象并开发算子,从而减少运行时的开销,实现更优的性能。
LocalMemAllocator仅支持在Ascend C静态Tensor编程方式中使用,不可以与TPipe等接口混用。
根据用户指定的逻辑位置、数据类型、数据长度返回对应的 LocalTensor 对象。 |
|
返回当前物理位置空闲的起始地址。 |
LocalTensor
- class asc.language.core.LocalTensor
- class asc.language.core.LocalTensor(dtype: DataType)
- class asc.language.core.LocalTensor(dtype: DataType, addr: int)
- class asc.language.core.LocalTensor(dtype: DataType, pos: TPosition | None = TPosition.VECIN, addr: int = 0, tile_size: int = 0)
- class asc.language.core.LocalTensor(handle: Value, dtype: DataType, shape: TensorShape)
LocalTensor用于存放AI Core中Local Memory(内部存储)的数据,支持逻辑位置TPosition为VECIN、VECOUT、VECCALC、A1、A2、B1、B2、CO1、CO2。
获取LocalTensor数据长度。 |
|
返回LocalTensor的地址或指定偏移量后的地址。 |
|
获取LocalTensor所在的TPosition逻辑位置,支持TPosition为VECIN、VECOUT、VECCALC、A1、A2、B1、B2、CO1、CO2。 |
|
获取LocalTensor的Shape信息。注意:Shape信息没有默认值,只有通过SetShapeInfo设置过Shape信息后,才可以调用该接口获取正确的Shape信息。 |
|
获取当前LocalTensor Size大小。 |
|
获取指定Tensor块的Tag信息,用户可以根据Tag信息对Tensor进行不同操作。 |
|
获取LocalTensor指定索引的数值。 该接口仅在LocalTensor的TPosition为VECIN/VECCALC/VECOUT时支持。 |
|
将当前Tensor重解释为用户指定的新类型,转换后的Tensor与原Tensor地址及内容完全相同,Tensor的大小(字节数)保持不变。 |
|
设置带有偏移的Tensor地址。用于快速获取定义一个Tensor,同时指定新Tensor相对于旧Tensor首地址的偏移。偏移的长度为旧Tensor的元素个数。 |
|
设置Buffer长度。当用户调用operator[]函数创建新LocalTensor时,建议调用该接口设置新LocalTensor长度,便于编译器对内存及同步进行自动优化。 |
|
设置LocalTensor的Shape信息。 |
|
设置当前LocalTensor Size大小。单位为元素。当用户重用local tensor变量且使用长度发生变化的时候,需要使用此接口重新设置Size。 |
|
为Tensor添加用户自定义信息,用户可以根据需要设置对应的Tag。后续可通过GetUserTag获取指定Tensor的Tag信息,并根据Tag信息对Tensor进行相应操作。 |
|
设置LocalTensor中的某个值。 该接口仅在LocalTensor的TPosition为VECIN/VECCALC/VECOUT时支持。 |
ShapeInfo
- class asc.language.core.ShapeInfo
- class asc.language.core.ShapeInfo(shape: Array, original_shape: Array | None = None, data_format: DataFormat = DataFormat.ND)
- class asc.language.core.ShapeInfo(handle: Value)
ShapeInfo用来存放LocalTensor或GlobalTensor的shape信息。
获取Shape中所有dim的累乘结果 |