From d2e02b47e19989801587ab5593c43c498d68d7e6 Mon Sep 17 00:00:00 2001 From: mesozoic-egg <133102390+mesozoic-egg@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:09:37 +0800 Subject: [PATCH] Construct c_ulong in blitCommandEncoder copy method (#6793) * Construct c_ulong in blitCommandEncoder copy method * line too long --------- Co-authored-by: Mesozoic Egg --- tinygrad/runtime/ops_metal.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tinygrad/runtime/ops_metal.py b/tinygrad/runtime/ops_metal.py index 1b9964207d..f900cf113d 100644 --- a/tinygrad/runtime/ops_metal.py +++ b/tinygrad/runtime/ops_metal.py @@ -135,7 +135,8 @@ class MetalAllocator(LRUAllocator): dest_dev.synchronize() src_command_buffer = msg(src_dev.mtl_queue, "commandBuffer", restype=objc_instance) encoder = msg(src_command_buffer, "blitCommandEncoder", restype=objc_instance) - msg(encoder, "copyFromBuffer:sourceOffset:toBuffer:destinationOffset:size:", src.buf, src.offset, dest.buf, dest.offset, sz) + msg(encoder, "copyFromBuffer:sourceOffset:toBuffer:destinationOffset:size:", src.buf, ctypes.c_ulong(src.offset), + dest.buf, ctypes.c_ulong(dest.offset), ctypes.c_ulong(sz)) msg(encoder, "endEncoding") if src_dev != dest_dev: msg(src_command_buffer, "encodeSignalEvent:value:", src_dev.timeline_signal, src_dev.timeline_value)