KernelArgs
用于描述kernel launch参数的结构体,包含参数数据指针、大小和内存位置信息。主要用于自定义算子的args内存管理和地址刷新场景。
头文件位于CANN软件安装后文件存储路径下的include/exe_graph/runtime/kernel_args.h。
struct KernelArgs {
void *args_data; ///< Pointer to argument data
size_t args_size; ///< Size of argument data in bytes
uint64_t reserved[4]; ///< Reserved for future extension
Placement placement; ///< Memory placement (host or device)
uint8_t placement_reserved_[4]; ///< Reserved field, 4-byte aligned for Placement
KernelArgs()
: args_data(nullptr), args_size(0U), reserved{},
placement(ge::kPlacementHost), placement_reserved_{} {}
};
-
args_data:参数数据指针,指向host或device上的参数buffer。
-
args_size:参数数据大小(字节)
-
reserved[4]:预留字段,用于未来扩展。
-
placement:内存位置标识,枚举类型。
- ge::kPlacementHost:Host内存(主机侧)。
- ge::kPlacementDevice:Device内存(设备侧)。
-
placement_reserved_[4]:预留字段,4字节对齐。