From d0b9f68d081fab6445ca7e18a8e605e266c35fbd Mon Sep 17 00:00:00 2001 From: Yosef Frost <92753960+FrostyTheSouthernSnowman@users.noreply.github.com> Date: Mon, 28 Aug 2023 21:36:51 -0400 Subject: [PATCH] small quality off life improvement --- tinygrad/runtime/ops_metal.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tinygrad/runtime/ops_metal.py b/tinygrad/runtime/ops_metal.py index 3a1ba19a36f8..c13dcffa623f 100644 --- a/tinygrad/runtime/ops_metal.py +++ b/tinygrad/runtime/ops_metal.py @@ -1,12 +1,15 @@ # pip3 install pyobjc-framework-Metal pyobjc-framework-Cocoa pyobjc-framework-libdispatch -import os, subprocess, pathlib, functools, ctypes -import Metal, Cocoa, libdispatch # type: ignore -from typing import List, Any -from tinygrad.codegen.linearizer import LinearizerOptions -from tinygrad.renderer.cstyle import uops_to_cstyle, CStyleLanguage -from tinygrad.helpers import prod, getenv, DEBUG, DType, dtypes -from tinygrad.ops import Compiled -from tinygrad.runtime.lib import RawBufferMapped, LRUAllocator +try: + import os, subprocess, pathlib, functools, ctypes + import Metal, Cocoa, libdispatch # type: ignore + from typing import List, Any + from tinygrad.codegen.linearizer import LinearizerOptions + from tinygrad.renderer.cstyle import uops_to_cstyle, CStyleLanguage + from tinygrad.helpers import prod, getenv, DEBUG, DType, dtypes + from tinygrad.ops import Compiled + from tinygrad.runtime.lib import RawBufferMapped, LRUAllocator +except ImportError as e: + raise ImportError(f"{e.name}. \n If you may want to try:\n\tpip3 install pyobjc-framework-Metal pyobjc-framework-Cocoa pyobjc-framework-libdispatch\n") METAL_XCODE = getenv("METAL_XCODE")