From 052bf43ed4a0191b6ca61cd8ecb93853822fbac4 Mon Sep 17 00:00:00 2001 From: nimlgen <138685161+nimlgen@users.noreply.github.com> Date: Sat, 14 Sep 2024 10:16:58 +0300 Subject: [PATCH] dsp check buffers count (#6509) --- tinygrad/runtime/ops_dsp.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tinygrad/runtime/ops_dsp.py b/tinygrad/runtime/ops_dsp.py index 4f531f44a8..d4c1481c3a 100644 --- a/tinygrad/runtime/ops_dsp.py +++ b/tinygrad/runtime/ops_dsp.py @@ -32,6 +32,8 @@ class DSPProgram: def __del__(self): os.remove(self.filepath.name) def __call__(self, *bufs, vals:Tuple[int, ...]=(), wait=False): + if len(bufs) >= 16: raise RuntimeError(f"Too many buffers to execute: {len(bufs)}") + pra, fds, attrs, _ = rpc_prep_args(ins=[var_vals_mv:=memoryview(bytearray((len(bufs) + len(vals)) * 4))], outs=[timer:=memoryview(bytearray(8)).cast('Q')], in_fds=[b.share_info.fd for b in bufs]) var_vals_mv.cast('i')[:] = array.array('i', tuple(b.size for b in bufs) + vals)