BLAS公共接口
算子使用说明
若需使用BLAS算子,需先创建句柄,调用对应算子的plan接口初始化该句柄对应的算子配置并进行绑定,再调用BLAS公共接口“asdBlasGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,然后调用“asdBlasSetWorkspace”给对应的plan设置需要workspaces,最后调用BLAS算子接口执行计算。计算完需要对plan进行销毁,以免造成内存泄漏。具体调用示例参见算子调用示例。
公共接口说明
asdBlasCreate
功能描述:创建全局唯一的handle。
接口原型:AspbStatus asdBlasCreate(asdBlasHandle &handle)
参数列表:
参数名称 |
Input/Output |
类型 |
描述 |
---|---|---|---|
handle |
Input |
asdBlasHandle |
asdBlasCreate接口的句柄。 |
asdBlasSetStream
功能描述:将使用runtime创建的stream与具体的plan实例进行绑定。
接口原型:AspbStatus asdBlasSetStream(asdBlasHandle handle, void *stream)
参数列表:
参数名称 |
Input/Output |
类型 |
描述 |
---|---|---|---|
handle |
Input |
asdBlasHandle |
asdBlasSetStream接口的句柄。 |
stream |
Input |
void * |
指向流对象的指针。 |
asdBlasDestroy
功能描述:销毁创建的plan并释放对应plan申请的资源。
接口原型:AspbStatus asdBlasDestroy(asdBlasHandle handle)
参数列表:
参数名称 |
Input/Output |
类型 |
描述 |
---|---|---|---|
handle |
Input |
asdBlasHandle |
asdBlasDestroy接口的句柄。 |
asdBlasSetWorkspace
功能描述:给对应的plan设置所需要workspace。
接口原型:AspbStatus asdBlasSetWorkspace(asdBlasHandle handle, void *workSpace);
参数列表:
参数名称 |
Input/Output |
类型 |
描述 |
---|---|---|---|
handle |
Input |
asdBlasHandle |
asdBlasSetWorkspace接口的句柄。 |
workSpace |
Input |
void * |
指针,指向一个存储所需的工作空间大小的变量。 |
asdBlasSynchronize
功能描述:等待算子执行。
接口原型:AspbStatus asdBlasSynchronize(asdBlasHandle handle)
参数列表:
参数名称 |
Input/Output |
类型 |
描述 |
---|---|---|---|
handle |
Input |
asdBlasHandle |
asdBlasSynchronize接口的句柄。 |
asdBlasGetWorkspaceSize
功能描述:计算所需workspace大小以及包含了算子计算流程的执行器。
接口原型:AspbStatus asdBlasGetWorkspaceSize(asdBlasHandle handle, size_t &workspaceSize);
参数列表:
参数名称 |
Input/Output |
类型 |
描述 |
---|---|---|---|
handle |
Input |
asdBlasHandle |
asdBlasGetWorkspaceSize接口的句柄。 |
workspaceSize |
Input |
size_t |
所需工作空间大小。 |