獲取GPU叢集拓撲。
介面說明
為目標 ACK 叢集安裝元件後:
首先,初次納管叢集,會為叢集目前包含的所有 ECS 安裝元件(如果叢集節點超過 50 台,第一批次只會安裝 50 台);
其次,作業系統控制台會週期性地檢查被納管叢集的擴縮容情況,一旦有新的 ECS 被新增至叢集中,作業系統控制台會為其自動安裝元件,無需使用者干預。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
請求文法
GET /api/v1/aiTopology/topology/clusterTopology HTTP/1.1
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| clusterId |
string |
是 |
叢集名稱,可以從 GetListGpuCluster 介面中獲取的叢集列表中選擇叢集。 |
"cluster1" |
| startTime |
string |
否 |
查詢指定時間戳記,預設查詢目前時間,需為秒級時間戳記。 |
1709740800 |
| instanceIdList |
any |
否 |
查詢指定執行個體列表的 GPU 拓撲資訊。 |
["instance1", "instance2","instance3"] |
| podList |
any |
否 |
查詢指定 POD 列表的 GPU 拓撲資訊。 |
["pod1", "pod2","pod3"] |
| taskIdList |
any |
否 |
查詢指定任務列表的 GPU 拓撲資訊。 |
["task1", "task2"] |
| communicationId |
string |
否 |
檢視集合通訊拓撲時使用,檢視指定通訊群組 ID 的拓撲關係(如檢視某通訊群組內各 rank 間通訊拓撲,tree、ring 拓撲) 需要 channel_id、topo_type 一起使用 ⚠️使用 GetGpuClusterArgsOptions 介面 communication 過濾類型可獲取 communication_id 列表。 |
communicationId =0x412523235123 channelId=1 topoType=ring |
| channelId |
string |
否 |
檢視集合通訊拓撲時使用,指定通訊群組下,指定通道 ID 的拓撲關係(如檢視某通訊群組內各 rank 間通訊拓撲,tree、ring 拓撲) 需要 communication_id、topo_type 一起使用 ⚠️GetGpuClusterArgsOptions 介面 channel 過濾參數可獲取指定 communication_id 下的 channel_id 列表。 |
communicationId =0x412523235123 channelId=1 topoType=ring |
| topoType |
string |
否 |
檢視集合通訊拓撲時使用,指定通訊群組下,指定通道 ID,指定拓撲類型的拓撲關係(如檢視某通訊群組內各 rank 間通訊拓撲,tree、ring 拓撲) 需要 communication_id、channel_id 參數一起使用 ⚠️使用 GetGpuClusterArgsOptions 介面的 topoType 過濾參數可獲取指定 communication_id 下、指定 channel_id 的 topo_type 列表。 |
communicationId =0x412523235123 channelId=1 topoType=ring |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
傳回回應主體。 |
||
| code |
string |
code 為'Success'或'Sysom.ServerError'或 Sysom.InvalidParameter。 |
Fail/Success |
| data |
object |
介面傳回資料。 |
|
| data |
object |
叢集拓撲資料結構。 |
|
| edges |
any |
拓撲結構中邊資料。 |
"edges": [ { "type": "GPU", "src_id": "00534a88", "dst_id": "260525e9", "values": { "Exception": [ { "key": "NCCL HANG", "value": "error0" } ], "Metric": [ { "key": "a", "value": "372201199012283428" } ], "Basic": [ { "key": "NCCL Version", "value": "v2.22.3" } ] }, "style": { "lineWidth": "0.01", "opacity": "1", "selectedStyle": "\"{\\\"opacity\\\": 1, \\\"lineWidth\\\": 1}\"", "stroke": "#e94242\n" } } ] |
| nodes |
any |
拓撲資料中 node 節點資料。 |
"nodes": [ { "id": "i-xxxxxx", "name": "i-xxxxxx", "gpu_list": [ { "id": "6cc37fbc", "name": "GPU0", "style": { "fill": "#e94242", "opacity": "0.1" }, "values": { "Metric": [ { "key": "0", "value": "gpu_util(%)" } ], "Basic": [ { "key": "1", "value": "Gpu Number" } ], "Exception": [ { "key": "NCCL HANG", "value": "error0" } ] } } ], "style": { "fillOpacity": "0.5", "fill": "#e94242" }, "values": { "Exception": [ { "key": "NCCL HANG", "value": "error0" } ], "Basic": [ { "key": "podList", "value": "podname1" } ], "Metric": [ { "key": "instance", "value": "i-xxxxxx" } ] } } ], |
| total |
integer |
傳回 GPU 卡數。 |
36 |
| message |
string |
code 不為'Success'時,message 為錯誤資訊。 |
some error msg if not success,“” if success |
| requestId |
string |
Id of the request |
return real request ID |
樣本
正常返回樣本
JSON格式
{
"code": "Fail/Success\n",
"data": {
"data": {
"edges": " \"edges\": [\n {\n \"type\": \"GPU\",\n \"src_id\": \"00534a88\",\n \"dst_id\": \"260525e9\",\n \"values\": {\n \"Exception\": [\n {\n \"key\": \"NCCL HANG\",\n \"value\": \"error0\"\n }\n ],\n \"Metric\": [\n {\n \"key\": \"a\",\n \"value\": \"372201199012283428\"\n }\n ],\n \"Basic\": [\n {\n \"key\": \"NCCL Version\",\n \"value\": \"v2.22.3\"\n }\n ]\n },\n \"style\": {\n \"lineWidth\": \"0.01\",\n \"opacity\": \"1\",\n \"selectedStyle\": \"\\\"{\\\\\\\"opacity\\\\\\\": 1, \\\\\\\"lineWidth\\\\\\\": 1}\\\"\",\n \"stroke\": \"#e94242\\n\"\n }\n }\n ]",
"nodes": "\"nodes\": [\n {\n \"id\": \"i-xxxxxx\",\n \"name\": \"i-xxxxxx\",\n \"gpu_list\": [\n {\n \"id\": \"6cc37fbc\",\n \"name\": \"GPU0\",\n \"style\": {\n \"fill\": \"#e94242\",\n \"opacity\": \"0.1\"\n },\n \"values\": {\n \"Metric\": [\n {\n \"key\": \"0\",\n \"value\": \"gpu_util(%)\"\n }\n ],\n \"Basic\": [\n {\n \"key\": \"1\",\n \"value\": \"Gpu Number\"\n }\n ],\n \"Exception\": [\n {\n \"key\": \"NCCL HANG\",\n \"value\": \"error0\"\n }\n ]\n }\n }\n ],\n \"style\": {\n \"fillOpacity\": \"0.5\",\n \"fill\": \"#e94242\"\n },\n \"values\": {\n \"Exception\": [\n {\n \"key\": \"NCCL HANG\",\n \"value\": \"error0\"\n }\n ],\n \"Basic\": [\n {\n \"key\": \"podList\",\n \"value\": \"podname1\"\n }\n ],\n \"Metric\": [\n {\n \"key\": \"instance\",\n \"value\": \"i-xxxxxx\"\n }\n ]\n }\n }\n ],"
},
"total": 36
},
"message": "some error msg if not success,“” if success",
"requestId": "return real request ID"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | Sysom.ServerError | Server error, please correct the code according to the error message. %s. | |
| 400 | Sysom.InvalidParameter | Invalid parameters passed when calling the interface. %s. |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。