4. TopsGraphCompiler¶
接口 |
解释 |
---|---|
topsgraphProgram |
void*类型的透明句柄,用于整个compiler阶段 |
topsgraphResult |
枚举变量,作为compiler所有接口的返回类型 |
接口 |
解释 |
---|---|
topsgraphCreateProgramFromString |
通过hlir的字符串创建一个topsgraph程序 |
topsgraphCreateProgramFromModule |
通过hlir module(燧原基于mlir定义的模型建一个topsgraph程序) |
topsgraphCompileProgram |
编译topsgraph程序 |
topsgraphDestroyProgram |
释放topsgraph程序 |
topsgraphGetBinSize |
从topsgraph程序中获取binary(二进制文件,配合runtime接口 可以运行在燧原科技加速卡上)的大小 |
topsgraphGetBin |
从topsgraph程序中获取binary |
topsgraphSaveBinFile |
将binary保存成文件 |
4.1. topsgraphCreateProgramFromString¶
topsgraphResult topsgraphCreateProgramFromString(topsgraphProgram* program,
const char* module);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程module
- hlir module(燧原基于mlir定义的模型)的字符串
- 返回值:
输出 topsgraphResult
4.2. topsgraphCreateProgramFromModule¶
topsgraphResult topsgraphCreateProgramFromModule(topsgraphProgram* program,
hlir::Module* module);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程module
- hlir module指针
- 返回值:
输出 topsgraphResult
4.3. topsgraphDestroyProgram¶
topsgraphResult topsgraphCompileProgram(topsgraphProgram program,
int options_num,
const char** options);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程options_num
- 输入参数的个数options_num
- 输入参数,options需要按照指定的键值对(key-vlaue)进行设置,键和值之间用'='连接。当前版本支持三种键,分别是-arch、 -recource和-hlir。具体信息可以参考topsgraphCompiler用户手册。
- 返回值:
输出 topsgraphResult
4.4. topsgraphDestroyProgram¶
topsgraphResult topsgraphDestroyProgram(topsgraphProgram* program);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程
- 返回值:
输出 topsgraphResult
4.5. topsgraphGetBin¶
topsgraphResult topsgraphGetBinSize(topsgraphProgram program,
size_t* binary_size);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程binary_size
- size_t类型的指针,用于获取binary的大小
- 返回值:
输出 topsgraphResult
4.6. topsgraphGetBin¶
topsgraphResult topsgraphGetBin(topsgraphProgram program,
char* binary);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程binary
- char类型的指针,需要用户自己提前分配好内存
- 返回值:
输出 topsgraphResult
4.7. topsgraphDestroyProgram¶
topsgraphResult topsgraphDestroyProgram(topsgraphProgram* program);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程
- 返回值:
输出 topsgraphResult
4.8. topsgraphDestroyProgram¶
topsgraphResult topsgraphSaveBinFile(topsgraphProgram program,
const char* save_file);
- 参数:
program
- topsgraph程序,透明句柄,用于整个编译过程save_file
- 保存文件路径
- 返回值:
输出 topsgraphResult