通过平移操作得到相邻关系

MPI_CART_SHIFT(comm, direction, disp, rank_source, rank_dest)
IN comm 带有笛卡尔结构的通信域(句柄)
IN direction 需要平移的坐标维(整数)
IN disp 偏移量(整数)
OUT rank_source 源进程的卡氏坐标
OUT rank_dest 目标进程的卡氏坐标
int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int
*rank_source, int *rank_dest)
MPI_CART_SHIFT(COMM, DIRECTION, DISP, RANK_SOURCE, RANK_DEST,
IERROR)
INTEGER COMM, DIRECTION, DISP, RANK_SOURCE, RANK_DEST, IERROR

MPI_CART_SHIFT将有拓扑结构的通信域comm中的一个笛卡儿坐标rank_source,沿着指定的维direction,以偏移量disp进行平移,得到的是调用进程的笛卡儿坐标值,而调用进程的笛卡儿坐标经过同样的平移后,得到的是rank_dest。对于非周期性的拓扑,当超出范围后rank_source与rank_dest可以是MPI_PROC_NULL可以在中返回。