本プログラムは計算領域をX方向にプロセスの数で分割します。図3-4-1は計算領域をX方向に4分割したものです。X方向のセル数Nxがプロセス数Npの倍数でないときはなるべく不均一性が小さくなるように分割します。各プロセスの必要メモリーはプロセス数分の1になります。これにより計算ノードの数を増やせばそれに比例して計算できる問題サイズの上限が大きくなります。電界の通信MPIでは行列・ベクトル積の計算の前に計算領域の境界で隣のプロセスとの通信が必要になります。プロセスPは領域境界より左の成分を所有し、プロセスP+1は領域境界上とその右の成分を所有します。通信する成分は図3-4-1に矢印で示した成分です。青い成分はプロセスP+1からプロセスPの方向に通信します。これによりプロセスP,P+1ともに自分の所有する成分を更新することができます。電界の通信リスト3-4-1にMPIにより電界を通信するプログラムを示します。アドレスと通信量は予め計算し、バッファーも予め確保しています。表3-4-1と図3-4-3にプロセス数と計算時間の関係を示します。40プロセスでほぼ同じになります。