---
title: BLAS公共接口
description: "若需使用BLAS算子，需先创建句柄，调用对应算子的plan接口初始化该句柄对应的算子配置并进行绑定，再调用BLAS公共接口“asdBlasGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器，然后调用“asdBlasSetWorkspace”给对应的plan设置需要workspaces，最后调用BLAS算子接口执行计算。计算完需要对plan进行销毁，以免造成内存泄漏。具体调用示例参见算子调用示例。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/SiP/SIP_API_0006.html
sourcePath: /source/zh/canncommercial/900/API/SiP/SIP_API_0006.html
indexId: eb387e3d82557b7c57332e9d8fffa370378b90d7761bcdc079a7fc965e42a10955
---
# 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 | 所需工作空间大小。 |
