From 83f266c44c25de663f81a9c8ef98069b2a77abc3 Mon Sep 17 00:00:00 2001 From: Ronan Collobert Date: Fri, 15 Dec 2023 16:06:46 -0800 Subject: [PATCH] Lazy metal_device_ initialization (#185) This ensures it is defined when the Scheduler needs it. --- mlx/backend/metal/device.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mlx/backend/metal/device.cpp b/mlx/backend/metal/device.cpp index 24251ca0e9..eba03c4c6e 100644 --- a/mlx/backend/metal/device.cpp +++ b/mlx/backend/metal/device.cpp @@ -17,8 +17,6 @@ namespace fs = std::filesystem; namespace mlx::core::metal { -static Device metal_device_; - namespace { // TODO nicer way to set this or possibly expose as an environment variable @@ -240,6 +238,7 @@ MTL::ComputePipelineState* Device::get_kernel( } Device& device(mlx::core::Device) { + static Device metal_device_; return metal_device_; }