circuits gpu-kernels: all() and dif_tiles give each GPU thread a &mut [u64] over the whole buffer. Writes are disjoint (no data race), but two live &mut to the same memory is undefined behaviour in Rust. Behind the non-default CUDA feature; no node path. Fix: per-element DisjointSlice access, or kernels over raw pointers. Recorded in circuits 27732e9's SAFETY comments.
circuits gpu-kernels:
all()anddif_tilesgive each GPU thread a&mut [u64]over the whole buffer. Writes are disjoint (no data race), but two live&mutto the same memory is undefined behaviour in Rust. Behind the non-default CUDA feature; no node path. Fix: per-element DisjointSlice access, or kernels over raw pointers. Recorded in circuits 27732e9's SAFETY comments.