might improve CUDA performance, might also store members of particles (like opts_init) on GPU (constant memory?)