code: def cl_read(sz, niter=1):
      prg = f"""__kernel void copy(
      __global float4* src,
      __global float* dst) {{
        int gid = get_global_id(0);
        if (src[gid].x == 99+get_global_id(1)) *dst = 1;
    }}"""
  
      in_buf = CLBuffer(sz // 4, dtypes.float32)
      out_buf = CLBuffer(1, dtypes.float32)
      cl = CLProgram("copy", prg)
      # NOTE: if nay of the niters form a local group, this is wrong
      return (
          min(
              [
                  cl(
                      [sz // 16, niter, 1],
                      [1, 1, 1],
                      in_buf,
                      out_buf,
                      wait=True,
                  )
                  for _ in range(10)
              ]
          )
          * 1e9
      )
  
file_path: tinygrad/extra/archprobe.py
imports: import numpy
  import pickle
  from tinygrad.runtime.ops_gpu import CLProgram, CLBuffer
  from tinygrad import dtypes
  from tqdm import trange, tqdm
  from matplotlib import pyplot
label_desc: Use image node_id 9 for calling a global function with example usage: cl_read(sz, niter) and returns: unknown