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。