應用型專用整合電路ASIC(Application-Specific Integrated Circuit)晶片的計算能力和計算效率是直接根據特定演算法的需要進行定製的,所以具備體積小、功耗低、高可靠性、保密性強、計算效能高、計算效率高等優勢。本文介紹如何通過Container Service管理主控台建立ASIC叢集,及ASIC晶片的使用樣本。
前提條件
建立ASIC節點池
建立ASIC節點池時,選擇的節點機型需為ASIC規格。建立節點池,請參見建立節點池,例如您可以選擇執行個體規格ecs.video-trans.26xhevc。關於執行個體規格的更多資訊,請參見執行個體規格類型系列。
當在執行個體規格列表裡沒有可用執行個體時,可選擇其他虛擬交換器進行嘗試。
查看節點掛載的ASIC裝置
叢集建立成功後,可查看節點掛載的ASIC裝置。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在建立叢集時配置的Worker節點所在行,單擊操作列的
,查看該節點掛載的ASIC裝置。
使用ASIC裝置
NETINT公司在Docker Hub提供了Base鏡像,您可以使用這些鏡像構建您的鏡像。關於NETINT鏡像地址,請參見netint/ni_xcoder_release。以下介紹如何提交一個申請NETINT ASIC裝置的任務。
使用Kubectl工具串連ACK叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
執行以下命令,查看叢集某個節點總的NETINT ASIC裝置數。NETINT ASIC裝置的擴充資源名稱為netint.ca/ASIC。
kubectl get nodes <NODE_NAME> -o yaml
在輸出中有以下預期內容:
netint.ca/ASIC: "12"
預期輸出表明,該節點中包含12張NETINT ASIC卡。
提交一個申請NETINT ASIC裝置的任務。
使用以下YAML樣本建立test-asic.yaml檔案。
apiVersion: batch/v1 kind: Job metadata: name: test-asic spec: parallelism: 1 template: metadata: labels: app: test-asic spec: containers: - name: test-asic image: registry.cn-beijing.aliyuncs.com/ai-samples/asic_258:asic command: - sleep - "500" resources: limits: netint.ca/ASIC: 2 #申請兩張NETINT ASIC裝置。 restartPolicy: Never
執行以下命令,提交任務。
kubectl create -f test-asic.yaml
執行以下命令,查看Pod的運行狀態是否處於Running。
kubectl get po -l app=test-asic
執行以下命令,登入到Pod中。
kubectl exec -ti test-asic-zt6ck -- bash
在Pod中執行以下命令,初始化NETINT ASIC裝置。
ni_rsrc_mon
執行以下命令,驗證NETINT ASIC裝置是否可用。
bash run_ffmpeg.sh