产品 |
是否支持 |
|---|---|
x |
|
√ |
|
x |
|
x |
|
x |
|
x |
|
x |
快速创建CubeResGroupHandle对象,内部完成消息队列空间和同步事件分配。推荐使用该接口,避免使用CubeResGroupHandle的构造函数创建对象,出现不同对象的消息队列空间冲突、同步事件错误等情况。
1 2 | template <int groupID, class MatmulApiType, template <class, class> class CallBack, typename CubeMsgType> __aicore__ inline CubeResGroupHandle<CubeMsgType> CreateCubeResGroup(KfcWorkspace &desc, uint8_t blockStart, uint8_t blockSize, uint8_t msgQueueSize, GM_ADDR tiling) |
参数 |
说明 |
|---|---|
groupID |
用于表示Group的编号,int32取值范围。 |
MatmulApiType |
定义的AIC计算对象类型。 |
CallBack |
回调函数类,需要实现Init和Call两个接口。 |
CubeMsgType |
用户自定义的消息结构体。 |
参数 |
输入/输出 |
说明 |
|---|---|---|
desc |
输入 |
KfcWorkspace,用于维护消息队列空间。 |
blockStart |
输入 |
该CubeResGroupHandle在AIV视角下的起始AIC对应的序号,即AIC起始序号 * 2。例如,如果AIC起始序号为0,则填入0 * 2;如果为1,则填入1 * 2。 |
blockSize |
输入 |
该CubeResGroupHandle在AIV视角下分配的Block个数,即实际的AIC个数*2。 |
msgQueueSize |
输入 |
该CubeResGroupHandle分配的消息队列总数。 |
tiling |
输入 |
AIC核计算所需tiling信息的地址。 |
CubeResGroupHandle对象实例。
1 | auto handle = AscendC::CreateCubeResGroup<GROUPID, MatmulApiType, MyCallbackFunc, CubeMsgBody> (desc, BOLCKSTART, BOLCKSIZE, MSGQUEUESIZE, tilingGM); |