Metal 記錄

Metal 記錄#

在除錯建置中,MLX 會啟用 os_log 來編譯 Metal 內核,讓著色器警告與除錯訊息在開發期間可見。

備註

Metal 記錄僅在 Metal 3.2 以上版本可用(macOS 15 以上、iOS 18 以上)。

要從內核啟用記錄,請先確認以除錯模式建置:

DEBUG=1 python -m pip install -e .

接著在內核來源碼中包含 MLX 的 logging shim,並使用 mlx::os_log

#include "mlx/backend/metal/kernels/logging.h"

constant mlx::os_log logger("mlx", "my_kernel");

kernel void my_kernel(/* ... */) {
// ...
  logger.log_debug("unexpected state: idx=%u", idx);
}

執行程式時,請將 Metal 記錄層級設為你想要的等級,並把記錄轉送到 stderr

MTL_LOG_LEVEL=MTLLogLevelDebug MTL_LOG_TO_STDERR=1 python script.py

更多細節請參考 Metal logging guide