style
abstract some things
Fix compiler warnings
re-order build
Using custom MPI data types
Using custom MPI data types
clean
switching to alltoallv
clean up