From 2bc54b3e2259182dbb433a9be4b165503447b38d Mon Sep 17 00:00:00 2001 From: George Hotz Date: Wed, 14 May 2025 19:17:51 -0700 Subject: [PATCH] manually handle OSX --- examples/mlperf/dataloader.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/mlperf/dataloader.py b/examples/mlperf/dataloader.py index 990ee2eebb..b513ccbc08 100644 --- a/examples/mlperf/dataloader.py +++ b/examples/mlperf/dataloader.py @@ -5,7 +5,7 @@ from multiprocessing import Queue, Process, shared_memory, connection, Lock, cpu import numpy as np from tinygrad import dtypes, Tensor -from tinygrad.helpers import getenv, prod, Context, round_up, tqdm +from tinygrad.helpers import getenv, prod, Context, round_up, tqdm, OSX ### ResNet @@ -129,14 +129,15 @@ def batch_load_resnet(batch_size=64, val=False, shuffle=True, seed=None, pad_fir q_in, q_out = Queue(), Queue() sz = (batch_size*BATCH_COUNT, 224, 224, 3) - if os.path.exists("/dev/shm/resnet_X"): os.unlink("/dev/shm/resnet_X") - shm = shared_memory.SharedMemory(name="resnet_X", create=True, size=prod(sz)) + shm_name = "resnet_X_val" if val else "resnet_X_train", + if not OSX and os.path.exists(f"/dev/shm/{shm_name}"): os.unlink(f"/dev/shm/{shm_name}") + shm = shared_memory.SharedMemory(name=shm_name, create=True, size=prod(sz)) procs = [] try: # disk:shm is slower - #X = Tensor.empty(*sz, dtype=dtypes.uint8, device=f"disk:shm:{shm.name}") - X = Tensor.empty(*sz, dtype=dtypes.uint8, device=f"disk:/dev/shm/resnet_X") + if OSX: X = Tensor.empty(*sz, dtype=dtypes.uint8, device=f"disk:shm:{shm.name}") + else: X = Tensor.empty(*sz, dtype=dtypes.uint8, device=f"disk:/dev/shm/{shm_name}") Y = [None] * (batch_size*BATCH_COUNT) for _ in range(cpu_count()): @@ -312,7 +313,7 @@ def batch_load_unet3d(preprocessed_dataset_dir:Path, batch_size:int=6, val:bool= proc = Process(target=load_unet3d_data, args=(preprocessed_dataset_dir, seed, queue_in, queue_out, X, Y)) proc.daemon = True proc.start() - + procs.append(proc) for bc in range(batch_count):