propagating changes in crossover kernel to mpi code in order to achieve determinism in results
coalescing memory access in gpu version