本頁面說明 Dataflow 支援的 GPU 指標。您可以使用這些指標監控 GPU 的健康狀態和使用情形。大多數指標都支援所有 Dataflow 工作,但部分指標需要額外設定,才能支援許多 GPU 模型。
必要條件
只有明確要求使用 GPU 的 Dataflow 工作,才會收集 GPU 指標。詳情請參閱「GPU 支援」。
總覽
Dataflow 會回報許多 GPU 指標,但主要指標是總記憶體和已用記憶體 (相當於 RAM 指標),以及串流多處理器 (SM) 活動和 SM 占用率 (最接近 Dataflow CPU 指標)。如要瞭解更多指標,請參閱「常見指標」和「GPM 指標」。
根據預設,系統會回報工作上每個 GPU 裝置的記憶體總量和用量。在 Dataflow 監控介面中,這些指標會顯示在「Basic GPU utilization」(基本 GPU 使用率) 下方。這些指標與「記憶體存取百分比」不同,後者也屬於基本 GPU 指標,但會回報 GPU 裝置記憶體的存取時間百分比。
SM 活動和 SM 占用率是 GPM 指標。P4 和 P100 裝置不支援這些指標,H100 裝置和後續機型則預設支援。如果是 T4 和 L4 等其他裝置,則必須進行額外設定。如要瞭解如何啟用,請參閱「Google Play 音樂收藏」。如果是在工作上收集這些指標,則會顯示在 Dataflow 監控介面的「GPU GPM utilization」下方。
Dataflow GPU 指標基本概念
Dataflow 工作站會將所有 GPU 指標傳送至 Cloud Monitoring。依裝置區別的指標位於「dataflow.googleapis.com/worker/accelerator/gpu」下方。所有這些指標都會歸入一般類別,例如使用率或溫度,而且都具有下列標籤:
- device_uuid:不論是 worker 或管道,都能用來識別 GPU 裝置。
- device_number:指派給工作站裝置的號碼,範圍為 [0, N),其中 N 是工作站上的 GPU 裝置數量。
- device_model:GPU 型號,例如「Tesla T4」。
device_uuid 和 device_model 都與工作人員無關,且同一部實體裝置的這兩個值一律相同。device_number與該工作者身分識別方式有關。
Dataflow 的常見 GPU 指標
每個使用 GPU 的 Dataflow 工作都會回報常見指標。在 Monitoring 中,這些指標一律採用下列格式:
dataflow.googleapis.com/worker/accelerator/gpu/CATEGORY/NAME
下表列出各項指標及其類別、名稱、單位和用途。
| 指標 | 類別 | 名稱 | 單位 | 說明 |
|---|---|---|---|---|
| 核心執行百分比 | 使用率 | device_kernel_runtime | 百分比 | GPU 至少有一個核心正在運作的時間百分比。這只表示 GPU 正在使用中,不代表處理資源是否有效運用。 |
| 記憶體存取百分比 | 使用率 | device_memory_access | 百分比 | 讀取或寫入裝置記憶體的時間百分比。這只表示記憶體正在存取,而非記憶體使用率。 |
| 記憶體限制 | 記憶體 | device_limit | MiB | GPU 可用的記憶體量。 |
| 記憶體用量 | 記憶體 | device_usage | MiB | GPU 使用的記憶體量。這包括 Dataflow 工作使用的記憶體,以及為韌體保留的記憶體,因此即使尚未將任何記憶體傳輸至 GPU,仍會顯示部分用量。 |
| 功率限制 | power | device_limit | 瓦特 | 裝置設定使用的電量上限。Dataflow 不會變更這項預設值。 |
| 電力用量 | power | device_usage | 瓦特 | 裝置使用的電量。 |
| 目前溫度 | 溫度 | device_current | 攝氏 | GPU 目前的溫度。 |
| 最高作業溫度 | 溫度 | device_max_op | 攝氏 | GPU 應維持的溫度。如果目前溫度超過此值,GPU 驅動程式會嘗試冷卻 GPU,直到溫度低於此值為止。Dataflow 無法控制這項設定。 |
| 降速溫度 | 溫度 | device_slowdown | 攝氏 | GPU 開始節流的溫度。如果目前溫度超過此值,您應該會看到效能下降,直到溫度降低為止。Dataflow 不會控制此情況。 |
| 關機溫度 | 溫度 | device_shutdown | 攝氏 | GPU 關閉時的溫度。如果目前溫度超過這個值,裝置就會無法使用。Dataflow 不會控管這項溫度,也不會主動嘗試復原因溫度過高而關閉的 GPU。 |
| 目前的 SM 時脈 | 時鐘 | device_sm_current | MHz | SM 時脈的目前速度。如果溫度超過減速門檻,這項指標可能會因冷卻相關的節流而下降。 |
| 最高 SM 時脈 | 時鐘 | device_sm_max | MHz | SM 時脈的最大速度。 |
| 目前記憶體時脈 | 時鐘 | device_memory_current | MHz | 記憶體時脈的目前速度。如果溫度超過減速門檻,這項指標可能會因冷卻相關的節流而下降。 |
| 記憶體時脈上限 | 時鐘 | device_memory_max | MHz | 記憶體時脈的最高速度。 |
Dataflow 的 GPM 指標
Dataflow 支援部分 GPM 指標。支援程度取決於 GPU 型號和加速器設定。根據預設,大多數使用 GPU 的 Dataflow 工作都需要額外設定。
GPM 指標的基本概念與一般指標相同。
支援的指標
與常見指標類似,GPM 指標路徑的格式如下:
dataflow.googleapis.com/worker/accelerator/gpu/CATEGORY/NAME
其中部分指標與常見指標屬於同一類別。
| 指標 | 類別 | 名稱 | 單位 | 說明 |
|---|---|---|---|---|
| SM 活動 | 使用率 | device_sm_activity | 百分比 | SM 中 warp 處於運作中狀態的時間百分比,為裝置上所有 SM 的平均值。這與「核心執行百分比」類似,但可提供更精細的圖片,更清楚地顯示 GPU 資源是否有效使用。NVIDIA 將有效使用定義為 80% 以上,50% 以下則為無效使用。 |
| SM 占用率 | 使用率 | device_sm_occupancy | 百分比 | 裝置上運作中 warp 的百分比 (相對於上限)。記憶體受限的工作應比運算受限的工作有更高的占用率,而記憶體存取百分比指標可提供這方面的深入分析。詳情請參閱 NVIDIA 說明文件,瞭解達成的占用率。 |
| Tensor 管道活動 | 使用率 | device_tensor_pipe_activity | 百分比 | Tensor Core 管道的使用時間百分比。值越高,表示 GPU 的 Tensor Core 使用率越高,這對矩陣運算非常重要。 |
| FP64 管道活動 | 使用率 | device_fp64_pipe_activity | 百分比 | FP64 核心管道的使用時間百分比。值越高,表示 GPU 的 FP64 核心使用量越高,這類核心會處理 64 位元浮點值的純量運算。 |
| FP32 管道活動 | 使用率 | device_fp32_pipe_activity | 百分比 | FP32 核心管道的使用時間百分比。值越高,表示 GPU 的 FP32 核心用量越高,這類核心會處理 32 位元浮點值的純量運算。 |
| FP16 管道活動 | 使用率 | device_fp16_pipe_activity | 百分比 | FP16 管道的使用時間百分比。FP64 和 FP32 分別與 64 位元和 32 位元 CUDA 核心相關聯,但 FP16 則與運用 Tensor 核心的半精度功能相關聯。 |
| PCIe 讀取 | pcie | device_read | MiB/秒 | GPU 透過 PCIe 從主機 VM 讀取資料的速率。 |
| PCIe 傳輸 | pcie | device_transfer | MiB/秒 | 資料透過 PCIe 從 GPU 傳輸至主機 VM 的速率。 |
| NVLink 讀取 | nvlink | device_read | MiB/秒 | GPU 透過 NVLink 讀取資料的速率。由於 NVLink 只涵蓋 GPU 對 GPU 通訊,如果每個工作站只有一個 GPU,這項功能就無關緊要。 |
| NVLink 傳輸 | nvlink | device_transfer | MiB/秒 | GPU 透過 NVLink 傳輸資料的速率。由於 NVLink 只涵蓋 GPU 對 GPU 通訊,如果每個工作站只有一個 GPU,這項功能就無關緊要。 |
收集 GPM 指標
使用 Hopper 架構或更新架構 (例如 H100、H100 Mega) 的 GPU 執行任何 Dataflow 工作時,系統預設會收集 GPM 指標,因此不需要額外設定。不過,使用 Pascal 架構或更早版本 (例如 P4 和 P100) 的作業不支援這些指標。
如要收集其他所有模型的指標,必須在工作站加速器設定中加入 install-gke-dcgm-exporter。例如:
--experiment="worker_accelerator=type:TYPE;count:COUNT;install-nvidia-driver;install-gke-dcgm-exporter"
這個旗標會安裝 GKE 代管的 NVIDIA DCGM-exporter 等效項目。下列類型支援這個選項:
- nvidia-l4
- nvidia-tesla-a100
- nvidia-a100-80gb
- nvidia-tesla-t4
- nvidia-tesla-v100
如果提供其他類型,Dataflow 服務會在建立工作時傳回錯誤。這項檢查可協助您避免在無法收集指標的作業上執行容器。
舊版指標
在 Monitoring 中,您可能會看到兩個名為 dataflow.googleapis.com/job/gpu_utilization 和 dataflow.googleapis.com/job/gpu_memory_utilization 的指標。這些指標分別與「核心執行百分比」和「記憶體存取百分比」類似,但工作站會計算工作站上所有 GPU 的平均值,並回報這些指標。建議使用每個裝置的對等項目,特別是當工作人員設定使用多個 GPU 時。
Dataflow UI
如果 Dataflow 工作的工作站已附加 GPU,指標應會顯示在工作頁面的「工作指標」分頁中,位於「Dataflow ML」類別下方。如果工作沒有 GPU,就不會顯示這個類別,而且需要幾秒鐘才能載入,因為系統會先確認指標是否與工作相關。
「Dataflow ML」下方會顯示下列子類別:
| 子類別 | 指標 | 條件 |
|---|---|---|
| 基本 GPU 使用率 | 核心執行百分比 記憶體存取百分比 總記憶體/已用記憶體 |
所有 GPU 工作 |
| GPU 效能 | 耗電量/限制 溫度讀數/限制 |
所有 GPU 工作 |
| GPU GPM 使用率 | SM 活動 SM 占用率 CUDA/Tensor 管道活動 |
已啟用 GPM 指標 |
| GPU GPM I/O | PCIe 讀取/傳輸 NVLink 讀取/傳輸 |
已啟用 GPM 指標 |
| 舊版 GPU 使用率 | 舊版指標 | 所有 GPU 工作 |
查看非舊版指標時,您可以根據特定工作人員名稱和 GPU 裝置編號篩選圖表。在 Compute Engine 中查看時,工作站名稱與 VM 名稱相同。GPU 裝置編號與指標標籤相同。您可以透過這項篩選功能檢查特定 GPU 裝置的指標,例如查看耗電量與上限的差距:
