This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
自作クラスタ計算機:mpiによる並列計算 [2020/03/02 15:05] koudai [準備] |
自作クラスタ計算機:mpiによる並列計算 [2020/03/02 16:45] koudai [サンプルプログラム] |
||
---|---|---|---|
Line 34: | Line 34: | ||
次のコードを使って説明します | 次のコードを使って説明します | ||
- | <file - test.c> | + | <file - hello.c> |
#include < | #include < | ||
- | # | + | # |
- | int main(int argc, char **argv) { | + | int main( int argc, char *argv[] ) |
+ | { | ||
int rank, size, len; | int rank, size, len; | ||
char name[MPI_MAX_PROCESSOR_NAME]; | char name[MPI_MAX_PROCESSOR_NAME]; | ||
Line 47: | Line 48: | ||
MPI_Get_processor_name( name, &len ); | MPI_Get_processor_name( name, &len ); | ||
name[len] = ' | name[len] = ' | ||
- | printf( "I am %d of %d from %s\n", rank, size, name ); | + | printf( "Hello World! |
- | MPI_Barrier( MPI_COMM_WORLD | + | |
MPI_Finalize(); | MPI_Finalize(); | ||
Line 56: | Line 56: | ||
* プログラムのコンパイルは次のようにします< | * プログラムのコンパイルは次のようにします< | ||
- | $ mpicc test.c | + | $ mpicc -o hello hello.c |
+ | $ mpiicc -o hello hello.c | ||
</ | </ | ||
+ | * 管理ノード(4スレッド)で走らせてみます< | ||
+ | $ 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. | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== 参考 ====== | ||
+ | |||
+ | * https:// | ||