MCPcopy Index your code
hub / github.com/tinygrad/tinygrad / read_buffer

Function read_buffer

tinygrad/runtime/ops_webgpu.py:53–64  ·  view source on GitHub ↗
(dev:WGPUDevPtr, buf:WGPUBufPtr)

Source from the content-addressed store, hash-verified

51 webgpu.wgpuCommandEncoderRelease(encoder)
52
53def read_buffer(dev:WGPUDevPtr, buf:WGPUBufPtr) -> memoryview:
54 size = webgpu.wgpuBufferGetSize(buf)
55 tmp_buffer = webgpu.wgpuDeviceCreateBuffer(dev, webgpu.WGPUBufferDescriptor(size=size,
56 usage=webgpu.WGPUBufferUsage_CopyDst | webgpu.WGPUBufferUsage_MapRead, mappedAtCreation=False))
57 copy_buffer_to_buffer(dev, buf, 0, tmp_buffer, 0, size)
58 _run(webgpu.wgpuBufferMapAsync2, webgpu.WGPUBufferMapCallbackInfo2, webgpu.WGPUBufferMapCallback2, webgpu.WGPUBufferMapAsyncStatus, None, 0,
59 tmp_buffer, webgpu.WGPUMapMode_Read, 0, size)
60 void_ptr = ctypes.cast(webgpu.wgpuBufferGetConstMappedRange(tmp_buffer, 0, size), ctypes.c_void_p)
61 buf_copy = bytearray((ctypes.c_uint8 * size).from_address(void_ptr.value))
62 webgpu.wgpuBufferUnmap(tmp_buffer)
63 webgpu.wgpuBufferDestroy(tmp_buffer)
64 return memoryview(buf_copy).cast("B")
65
66def pop_error(device:WGPUDevPtr) -> str:
67 return _run(webgpu.wgpuDevicePopErrorScopeF, webgpu.WGPUPopErrorScopeCallbackInfo, webgpu.WGPUPopErrorScopeCallback, None, 2, 2, device)

Callers 2

__call__Method · 0.85
_copyoutMethod · 0.85

Calls 3

copy_buffer_to_bufferFunction · 0.85
_runFunction · 0.70
castMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…