aclrtDevAttr
Definition
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
typedef enum { ACL_DEV_ATTR_AICPU_CORE_NUM = 1, ACL_DEV_ATTR_AICORE_CORE_NUM = 101, ACL_DEV_ATTR_CUBE_CORE_NUM = 102, ACL_DEV_ATTR_VECTOR_CORE_NUM = 201, ACL_DEV_ATTR_WARP_SIZE = 202, ACL_DEV_ATTR_MAX_THREAD_PER_VECTOR_CORE, ACL_DEV_ATTR_UBUF_PER_VECTOR_CORE, ACL_DEV_ATTR_TOTAL_GLOBAL_MEM_SIZE = 301, ACL_DEV_ATTR_L2_CACHE_SIZE, ACL_DEV_ATTR_SMP_ID = 401U, ACL_DEV_ATTR_PHY_CHIP_ID = 402U, ACL_DEV_ATTR_SUPER_POD_DEVICE_ID = 403U, ACL_DEV_ATTR_SUPER_POD_SERVER_ID = 404U, ACL_DEV_ATTR_SUPER_POD_ID = 405U, ACL_DEV_ATTR_CUST_OP_PRIVILEGE = 406U, ACL_DEV_ATTR_MAINBOARD_ID = 407U, ACL_DEV_ATTR_IS_VIRTUAL = 501U, } aclrtDevAttr; |
|
Enumeration Item |
Description |
|---|---|
|
ACL_DEV_ATTR_AICPU_CORE_NUM |
Number of AI CPUs. |
|
ACL_DEV_ATTR_AICORE_CORE_NUM |
Number of AI Cores. |
|
ACL_DEV_ATTR_CUBE_CORE_NUM |
Number of Cube Cores. |
|
ACL_DEV_ATTR_VECTOR_CORE_NUM |
Number of Vector Cores. |
|
ACL_DEV_ATTR_WARP_SIZE |
Number of threads in a warp. In the Single Instruction Multiple Thread (SIMT) programming model, a warp is a set of threads that execute the same instruction. Only Atlas 350 Accelerator Card supports this item. This item is not supported for other product models. |
|
ACL_DEV_ATTR_MAX_THREAD_PER_VECTOR_CORE |
Maximum number of threads that can reside on each Vector Core at the same time. Only Atlas 350 Accelerator Card supports this item. This item is not supported for other product models. |
|
ACL_DEV_ATTR_UBUF_PER_VECTOR_CORE |
Maximum size of the UB buffer that can be used on each Vector Core, in bytes. Only Atlas 350 Accelerator Card supports this item. This item is not supported for other product models. |
|
ACL_DEV_ATTR_TOTAL_GLOBAL_MEM_SIZE |
Total available memory on the device, in bytes. |
|
ACL_DEV_ATTR_L2_CACHE_SIZE |
L2 cache size, in bytes. |
|
ACL_DEV_ATTR_SMP_ID |
Symmetric multiprocessing (SMP) ID, which is used to identify whether devices run on the same operating system. |
|
ACL_DEV_ATTR_PHY_CHIP_ID |
Physical chip ID. |
|
ACL_DEV_ATTR_SUPER_POD_DEVICE_ID |
SuperPoD device ID, which identifies a device in a SuperPoD product. |
|
ACL_DEV_ATTR_SUPER_POD_SERVER_ID |
SuperPoD server ID, which identifies a server in a SuperPoD product. |
|
ACL_DEV_ATTR_SUPER_POD_ID |
SuperPoD ID, which identifies a SuperPoD in the cluster. |
|
ACL_DEV_ATTR_CUST_OP_PRIVILEGE |
Whether the custom operator can execute more system call permissions. The options are as follows:
The Atlas 350 Accelerator Card does not support this item. |
|
ACL_DEV_ATTR_MAINBOARD_ID |
Mainboard ID. |
|
ACL_DEV_ATTR_IS_VIRTUAL |
Whether the Ascend virtual instance is used.
|
Relationships Between AI Cores, Cube Cores, and Vector Cores
The definition of a Core helps you better understand the relationships between AI Cores, Cube Cores, and Vector Cores. A Core is a compute core with an independent Scalar compute unit. Generally, the Scalar compute unit provides multiple functions for the compute core, such as the single instruction multiple data (SIMD) instruction dispatch. Therefore, the Scalar compute unit is also called the intra-core scheduling unit. The AI data processing core unit varies with products. Currently, there are the following types:
- The AI data processing core unit is an AI Core.
- In an AI Core, a Cube and a Vector share a Scalar scheduling unit, for example,
Atlas training product .
- In an AI Core, a Cube and a Vector have their own Scalar scheduling units, which are also called a Cube Core and a Vector Core. In this case, a Cube Core and a group of Vector Cores are defined as an AI Core. The number of AI Cores is usually calculated based on the number of Cube Cores, for example,
Atlas A2 training product /Atlas A2 inference product .
- In an AI Core, a Cube and a Vector share a Scalar scheduling unit, for example,
- The AI data processing core unit consists of an AI Core and an independent Vector Core. The AI Core and Vector Core both have independent Scalar scheduling units, for example,
Atlas inference product .
Relationships Between SuperPoD IDs, SuperPoD Server IDs, and SuperPoD Device IDs
