This section summarizes the AI Engine run-time parameter (RTP) support status. For RTP support for the PL kernel inside the graph, see Run-Time Parameter Support Summary for PL Kernel.
AI Engine RTP (from/to PS) |
Input | Output | ||
---|---|---|---|---|
Synchronous | Asynchronous | Synchronous | Asynchronous | |
Scalar | Default | Supported | Supported | Default |
Array | Default | Supported | Supported | Default |
Code snippets for RTP connections from or to the PS:
connect<parameter>(fromPS, first.in[0]); //Synchronous RTP, default for input
connect<parameter>(fromPS, sync(first.in[0])); //Synchronous RTP
connect<parameter>(fromPS, async(first.in[0])); //Asynchronous RTP
connect<parameter>(second.inout[0], toPS); //Asynchronous RTP, default for output
connect<parameter>(async(second.inout[0]), toPS); //Asynchronous RTP
connect<parameter>(sync(second.inout[0]), toPS); //Synchronous RTP
AI Engine RTP to AI Engine RTP | To | |||
---|---|---|---|---|
Synchronous | Asynchronous | Not Specified | ||
From | Synchronous | Synchronous | Not Supported | Synchronous |
Asynchronous | Not Supported | Asynchronous | Asynchronous | |
Not Specified | Synchronous | Asynchronous | Synchronous |
Code snippets for RTP connections between AI Engines:
connect<parameter>(first.inout[0], second.in[0]); //Not specified for output and input. Synchronous RTP from first.inout to second.in
connect<parameter>(sync(first.inout[0]), second.in[0]); //Specify “sync” for output. Synchronous RTP from first.inout to second.in
connect<parameter>(first.inout[0], sync(second.in[0])); //Specify “sync” for input. Synchronous RTP from first.inout to second.in
connect<parameter>(sync(first.inout[0]), sync(second.in[0])); //Specify “sync” for both. Synchronous RTP from first.inout to second.in
connect<parameter>(async(first.inout[0]), async(second.in[0])); //Specify “async” for both. Asynchronous RTP from first.inout to second.in
connect<parameter>(first.inout[0], async(second.in[0])); //Specify “async” for input. Asynchronous RTP from first.inout to second.in
connect<parameter>(async(first.inout[0]), second.in[0]); //Specify “async” for output. Asynchronous RTP from first.inout to second.in
connect<parameter>(async(first.inout[0]), sync(second.in[0])); //Not supported
connect<parameter>(sync(first.inout[0]), async(second.in[0])); //Not supported
Note: When using AI Engine RTP to AI Engine RTP connections, the source and destination kernels use shared
memory for data communication. DMA is not involved in data communication. So, AI Engine kernels with RTP connections must be placed in
the same AI Engine tile or adjacent tiles.