It works! The cuda kernel executes and does what it's supposed to. It's slooooow compared to CPU only, but we'll see how the larger test cases go. Next thing to try: Elijah's idea of splitting up kernels by rate law