This also refactors test_pattern.jl significantly to provide a better
testing experience (if we drop a buffer due to an overflow, we'll
re-synchronize and only report that as a single error) and an easier
read through the code by re-using a significant amount of code between
the CPU and GPU paths.
This also refactors
test_pattern.jl
significantly to provide a better testing experience (if we drop a buffer due to an overflow, we'll re-synchronize and only report that as a single error) and an easier read through the code by re-using a significant amount of code between the CPU and GPU paths.