mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-02-16 09:37:11 -05:00
@@ -41,9 +41,8 @@ class CLProgram:
|
||||
self.kernel = checked(cl.clCreateKernel(self.program, name.encode(), status := ctypes.c_int32()), status)
|
||||
|
||||
def __del__(self):
|
||||
with contextlib.suppress(TypeError):
|
||||
with contextlib.suppress(AttributeError): check(cl.clReleaseKernel(self.kernel))
|
||||
with contextlib.suppress(AttributeError): check(cl.clReleaseProgram(self.program))
|
||||
with contextlib.suppress(TypeError, AttributeError): check(cl.clReleaseKernel(self.kernel))
|
||||
with contextlib.suppress(TypeError, AttributeError): check(cl.clReleaseProgram(self.program))
|
||||
|
||||
def __call__(self, *bufs:Tuple[ctypes._CData, BufferSpec], global_size:Tuple[int,int,int]=(1,1,1), local_size:Optional[Tuple[int,int,int]]=None, vals:Tuple[int, ...]=(), wait=False) -> Optional[float]: # noqa: E501
|
||||
for i,(b,_) in enumerate(bufs): cl.clSetKernelArg(self.kernel, i, ctypes.sizeof(b), ctypes.byref(b))
|
||||
|
||||
Reference in New Issue
Block a user