WorkspaceAddr
产品支持情况
全量芯片支持。
头文件/库文件
- 头文件:#include <exe_graph/runtime/annotated_args_context.h>
- 库文件:liblowering.so
功能说明
gert::WorkspaceAddr是逻辑workspace地址描述符,作为AnnotatedKernelArgs::AppendArg的参数,用于把kernel args中的一个参数标记为workspace地址。
函数原型
namespace gert {
struct WorkspaceAddr {
uint32_t index; // workspace序号,由MallocWorkSpace返回
const void *addr; // workspace逻辑地址
};
} // namespace gert
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
index |
uint32_t |
workspace序号,由AnnotatedArgsContext::MallocWorkSpace返回。序号按workspace申请顺序从0递增,不是算子IR输入/输出index;值必须不大于INT32_MAX。 |
addr |
const void * |
对应workspace的逻辑地址,来自MallocWorkSpace返回结构体中的addr。 |
返回值说明
不涉及。
约束说明
无
调用示例
const auto workspace = ctx.MallocWorkSpace(workspace_size);
if (workspace.addr == nullptr) {
return ge::GRAPH_FAILED;
}
gert::AnnotatedKernelArgs args(workspace);
return ctx.AddLaunch(launch_info, std::move(args));