incomplete (and maybe incorrect) implementation of CPU data parallelism