---
title: aclrtGetDevicesTopo
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_1895.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_1895.html
indexId: 832065ac14ac765cba6bbabebbe0aedc7a18a1a180405b86aa1eeabfb3f54c8b68
---
# aclrtGetDevicesTopo

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


须知：本接口不支持在 Atlas 200I/500 A2 推理产品 的 Ascend RC 形态下调用。


#### 功能说明

获取两个Device之间的网络拓扑关系。


#### 函数原型

```
aclError aclrtGetDevicesTopo(uint32_t deviceId, uint32_t otherDeviceId, uint64_t *value)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| deviceId | 输入 | 指定Device的ID。 用户调用aclrtGetDeviceCount接口获取可用的Device数量后，这个Device ID的取值范围：[0, (可用的Device数量\-1)] |
| otherDeviceId | 输入 | 指定Device的ID。 用户调用aclrtGetDeviceCount接口获取可用的Device数量后，这个Device ID的取值范围：[0, (可用的Device数量\-1)] |
| value | 输出 | 两个Device之间互联的拓扑关系。 ACL\_RT\_DEVS\_TOPOLOGY\_HCCS：通过HCCS连接。HCCS是Huawei Cache Coherence System（华为缓存一致性系统），用于CPU/NPU之间的高速互联。 ACL\_RT\_DEVS\_TOPOLOGY\_PIX：通过同一个PCIe Switch连接。 ACL\_RT\_DEVS\_TOPOLOGY\_PHB：通过PCIe Host Bridge连接。 ACL\_RT\_DEVS\_TOPOLOGY\_SYS：通过SMP（Symmetric Multiprocessing）连接，NUMA节点之间通过SMP互连。 ACL\_RT\_DEVS\_TOPOLOGY\_SIO：片内连接方式，两个DIE之间通过该方式连接。 ACL\_RT\_DEVS\_TOPOLOGY\_HCCS\_SW：通过HCCS Switch连接。 ACL\_RT\_DEVS\_TOPOLOGY\_PIB：预留值，暂不支持。 宏定义如下： \#define ACL\_RT\_DEVS\_TOPOLOGY\_HCCS 0x01ULL \#define ACL\_RT\_DEVS\_TOPOLOGY\_PIX 0x02ULL \#define ACL\_RT\_DEVS\_TOPOLOGY\_PHB 0x08ULL \#define ACL\_RT\_DEVS\_TOPOLOGY\_SYS 0x10ULL \#define ACL\_RT\_DEVS\_TOPOLOGY\_SIO 0x20ULL \#define ACL\_RT\_DEVS\_TOPOLOGY\_HCCS\_SW 0x40ULL \#define ACL\_RT\_DEVS\_TOPOLOGY\_PIB 0x04ULL |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。
