The AI Engine array consists of a 2D array of AI Engine tiles, where each AI Engine tile contains an AI Engine, memory module, and tile interconnect module.
- AI Engine
- Each AI Engine is a very long instruction word (VLIW) processor containing a scalar unit, a vector unit, two load units, and a single store unit.
- AI Engine Tile
- An AI Engine tile contains an AI Engine, a local memory module together with several communication paths to facilitate data exchange between tiles.
- AI Engine Array
- AI Engine array refers to the complete 2D array of AI Engine tiles.
- AI Engine Program
- The AI Engine program consists of a data flow graph specification which is written in C/C++. This program is compiled and executed using the AI Engine tool chain.
- AI Engine Kernels
- Kernels are written in C/C++ using AI Engine vector data types and intrinsic functions. These are the computation functions running on an AI Engine. The kernels form the fundamental building blocks of a data flow graph specification.
- ADF Graph
- An ADF graph is a network with a single AI Engine kernel or multiple AI Engine kernels connected by data streams. It interacts with
the programmable logic, global memory, and processing system with specific
constructs like PLIO (port attribute in the graph programming that is used
to make stream connections to or from the programmable logic), GMIO (port
attribute in the graph programming that is used to make external
memory-mapped connections to or from the global memory), and RTP.
Graphs can also be embedded into other graphs as sub-graphs, which allows for structuring the design into logical subsystems.