мои предложения:
1) Думаю поможет только создание "производных типов данных" (сечение)
http://rsusu1.rnd.runnet.ru/tutor/method/m2/page15.html2) использовать производные типы данных (граница), создать коммуникатор для удобного общения с соседями (в вашем случае трехмерная решетка), если в общем алгоритме предусмотрена стадия обмена данных (после шага вычислений), тогда MPI_Sendrecv по циклу соседей. по последнему, конечно, могут возникнуть блокировки, но попробуйте, Sendrecv безопасная операция при взаимном обмене.