應用型專用集成電路ASIC(Application-Specific Integrated Circuit)芯片的計算能力和計算效率是直接根據特定算法的需要進行定制的,所以具備體積小、功耗低、高可靠性、保密性強、計算性能高、計算效率高等優勢。本文介紹如何通過容器服務管理控制臺創建ASIC集群,及ASIC芯片的使用示例。
前提條件
創建ASIC節點池
創建ASIC節點池時,選擇的節點機型需為ASIC規格。創建節點池,請參見創建節點池,例如您可以選擇實例規格ecs.video-trans.26xhevc。關于實例規格的更多信息,請參見實例規格族。
當在實例規格列表里沒有可用實例時,可選擇其他虛擬交換機進行嘗試。
查看節點掛載的ASIC設備
集群創建成功后,可查看節點掛載的ASIC設備。
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
在創建集群時配置的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