Run-Time Parameter Support Summary - 2020.2 English

Versal ACAP AI Engine Programming Environment User Guide (UG1076)

Document ID
UG1076
Release Date
2020-11-24
Version
2020.2 English

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.

Table 1. AI Engine RTP Default and Support Status
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
Table 2. AI Engine RTP to AI Engine RTP Connection Support Status Defaults
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.