Overview
An AI Core is the computing core of a Ascend AI Processor. A Ascend AI Processor usually integrates multiple AI Cores to implement parallel computing. Compared with traditional CPUs, Ascend AI Processors are more suitable for model training and inference. This is due to the large number of computing units and extensive vector computing instructions integrated internally. A single hardware instruction can perform operations on multiple groups of data in parallel.
Ascend AI Processors mainly support the following programming models:
- Single Instruction Multiple Thread (SIMT): Parallel computing is implemented by using a single instruction to drive multiple threads.
- Single Instruction Multiple Data (SIMD): Parallel computing is implemented by using a single instruction to operate multiple pieces of data.
SIMT programming is suitable for vector operator development in scenarios such as discrete memory access and complex branch control. It also enables developers who are familiar with SIMT operator development in the industry to quickly get started with Ascend C operator development.
SIMD programming is suitable for development of vector operators or fused operators for pure matrix computation and continuous memory access.
In addition, the SIMD and SIMT programming models can be used in combination to integrate the advantages of both models, achieving a better balance between performance and usability.