HIAI_C_SendData
用户从外部向Matrix发送数据(或消息)。该接口在c_graph.h中定义。
- 用户自定义的消息类型需要调用数据类型序列化和反序列化(C++语言)先注册。
- 该消息指针dataPtr控制权为调用者所有,Matrix不管理该指针,由调用者负责释放。
- 在跨侧(Host->Device或Device->Host)传输数据时,该接口采用DMA(Direct Memory Access)传送方式,可能会影响CPU对中断请求的及时响应与处理,例如影响调用new或者malloc分配内存时的性能。
函数格式
HIAI_StatusT HIAI_C_SendData(HIAI_PortID_t targetPortConfig, const char* messageName, size_t len, void* dataPtr)
参数说明
参数 |
说明 |
取值范围 |
---|---|---|
targetPortConfig |
数据接收方的Graph ID、Engine ID和Port ID。 |
- |
messageName |
当前发送的消息名。 |
- |
len |
消息名称的长度。 |
- |
dataPtr |
指向具体的消息指针(该消息指针控制权为调用者所有,Matrix不管理该指针,由调用者负责释放)。 |
- |
返回值
返回的部分错误码请参见“错误码示例”中的“错误码”列。
错误码示例
序号 |
错误码 |
错误码描述 |
---|---|---|
1 |
HIAI_OK |
running ok |
2 |
HIAI_GRAPH_ENGINE_NOT_EXIST |
engine not exist |
3 |
HIAI_GRAPH_NOT_EXIST |
graph not exist |
4 |
HIAI_GRAPH_NO_USEFUL_MEMORY |
no useful memory |
5 |
HIAI_GRAPH_SENDMSG_FAILED |
hdc send msg failed |
6 |
HIAI_GRAPH_INVALID_VALUE |
graph invalid value |