This is an old revision of the document!
$ sudo apt install openmpi-bin libopenmpi-dev
事前に各ノードのCPUのコア数(物理コア数)とスレッド数(論理コア数)を確認してください
$ cat /proc/cpuinfo | grep "physical id"
$ cat /proc/cpuinfo | grep "cpu cores"
$ cat /proc/cpuinfo | grep "processor"
作業は全て管理ノードで行います
次のコードを使って説明します
#include <stdio.h> #include "mpi.h" int main( int argc, char *argv[] ) { int rank, size, len; char name[MPI_MAX_PROCESSOR_NAME]; MPI_Init( &argc, &argv ); MPI_Comm_rank( MPI_COMM_WORLD, &rank ); MPI_Comm_size( MPI_COMM_WORLD, &size ); MPI_Get_processor_name( name, &len ); name[len] = '\0'; printf( "Hello World! I am %d of %d from %s.\n", rank, size, name ); MPI_Finalize(); return 0; }
$ mpicc -o hello hello.c
$ mpirun -n 4 hello Hello World! I am 0 of 4 from kanri. Hello World! I am 1 of 4 from kanri. Hello World! I am 2 of 4 from kanri. Hello World! I am 3 of 4 from kanri.