@sf.kernel with thread_idx, shared memory and
barriers. Kernels run on a simulator today (atreides-sim) which has two
independent back ends, a Python interpreter and generated C, that must agree
bit for bit. atreides-hw is reserved for the real chip and waits for its
driver.