應用型專用整合電路ASIC(Application-Specific Integrated Circuit)晶片的計算能力和計算效率是直接根據特定演算法的需要進行定製的,所以具備體積小、功耗低、高可靠性、保密性強、計算效能高、計算效率高等優勢。本文介紹如何為叢集添加ASIC節點以及ASIC晶片的使用樣本。
前提條件
建立ASIC節點池
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
單擊建立節點池,您可以選擇執行個體規格為ecs.video-trans.26xhevc,並設定期望節點數為所需節點數量。更多參數,請參見建立和管理節點池。
說明當在執行個體規格列表裡沒有可用執行個體時,可選擇其他交換器進行嘗試。
查看節點掛載的ASIC裝置
節點建立成功後,可查看節點掛載的ASIC裝置。
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
在目標節點所在行,單擊操作列的詳情,查看該節點掛載的ASIC裝置。

使用ASIC裝置
執行以下命令,查看叢集某個節點中的NETINT ASIC裝置數。
kubectl get nodes <NODE_NAME> -o yaml | grep netint.ca/ASIC預期輸出:
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-xxxxx -- bash在Pod中執行以下命令,初始化NETINT ASIC裝置。
ni_rsrc_mon執行以下命令,驗證NETINT ASIC裝置是否可用。
bash run_ffmpeg.sh