日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

配置共享GPU調度僅共享不隔離策略

在某些場景下,您可能不需要GPU隔離模塊參與共享GPU調度。例如,有些業務應用本身提供顯存限制能力,類似于Java應用啟動時,可以通過選項指定該應用能夠使用的最大內存值。這種情況下,使用GPU隔離模塊隔離業務顯存反而會有問題。對此,共享GPU調度支持某些節點不安裝GPU隔離模塊的選項。本文介紹如何配置共享GPU調度僅共享不隔離策略。

前提條件

步驟一:創建節點池

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇節點管理 > 節點池。

  1. 節點池頁面,單擊右上角的創建節點池。

  2. 創建節點池頁面,設置創建節點池的配置項,然后單擊確認配置。下表僅介紹主要配置項,其余配置項請參見創建節點池。

    配置項

    說明

    實例規格

    架構選擇GPU云服務器,選擇多個GPU實例規格。本文以使用GPU卡V100為例進行說明。

    期望節點數

    設置節點池初始節點數量。如無需創建節點,可以填寫為0。

    節點標簽

    單擊1.jpg,添加如下記錄:ack.node.gpu.scheduleshare。開啟GPU共享調度能力,同時開啟GPU顯存隔離能力。

    關于節點標簽的更多信息,請參見GPU節點調度屬性標簽說明及標簽切換方法。

    步驟二:提交任務

  3. 登錄容器服務管理控制臺,在左側導航欄選擇集群。

  4. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 任務。

  5. 單擊頁面右上角的使用YAML創建資源,將如下代碼拷貝至模板區域,然后單擊頁面下方的創建

    展開查看YAML詳細信息

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: tensorflow-mnist-share
    spec:
      parallelism: 1
      template:
        metadata:
          labels:
            app: tensorflow-mnist-share
        spec:
          containers:
          - name: tensorflow-mnist-share
            image: registry.cn-beijing.aliyuncs.com/ai-samples/gpushare-sample:tensorflow-1.5
            command:
            - python
            - tensorflow-sample-code/tfjob/docker/mnist/main.py
            - --max_steps=100000
            - --data_dir=tensorflow-sample-code/data
            resources:
              limits:
                aliyun.com/gpu-mem: 4 # 總共申請4 GiB顯存。
            workingDir: /root
          restartPolicy: Never

    YAML文件說明如下:

    • 該YAML定義了一個使用tensorflow mnist樣例的Job。Job有1個Pod,該Pod申請4 GiB顯存。

    • Pod申請4 GiB顯存通過在Pod resources.limits定義aliyun.com/gpu-mem: 4實現。

步驟三:驗證僅共享不隔離能力

  1. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 容器組

  2. 在創建的容器所在行,例如tensorflow-mnist-multigpu-***,單擊操作列的終端,進入容器,執行如下命令。

    nvidia-smi

    預期輸出:

    Wed Jun 14 06:45:56 2023
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 515.105.01   Driver Version: 515.105.01   CUDA Version: 11.7     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla V100-SXM2...  On   | 00000000:00:09.0 Off |                    0 |
    | N/A   35C    P0    59W / 300W |    334MiB / 16384MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    +-----------------------------------------------------------------------------+

    Pod內部能夠發現整張GPU卡的總顯存16384 MiB(本文示例使用GPU卡為V100),而在有隔離模塊參與的場景下,該值與Pod申請值一致(本文示例為4 GiB),說明配置生效。

    業務應用需要從兩個環境變量中讀取該業務能夠使用的顯存值。

    ALIYUN_COM_GPU_MEM_CONTAINER=4 # 該Pod能夠使用的顯存值。
    ALIYUN_COM_GPU_MEM_DEV=16 # 每張GPU卡總共的顯存值。

    如果應用需要的是顯存的百分比,也就是該應用使用的顯存占GPU卡總顯存的百分比。可以使用上述兩個環境變量得出:

    percetange = ALIYUN_COM_GPU_MEM_CONTAINER / ALIYUN_COM_GPU_MEM_DEV = 4 / 16 = 0.25