sc10note/MPIの高度な使い方
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
since1995
開始行:
[[sc10note]]
* MPIの高度な(?)通信 [#befc3a33]
MPIの基本的な通信に関しては,プログラミングガイドにある程...
もう少し高度なことがやりたくなる時があります.そのための...
** 時間計測 [#mb2cefa2]
時間計測に関しては,多分gettimeofday()も使えるんですが,...
過去のある時点からの経過時間(秒単位)を返す
double MPI_Wtime (void)
これを二回実行することで時間を計測することができます.
** 送信待ち [#l28d81f9]
マスターワーカー型のプログラミングをしてると,
「子供からの送信が来た時だけ受信したい!」
という要求が来ます.それを簡単に実行出来るのがMPI_Iprobe...
int MPI_Iprobe( int source, int tag, MPI_Comm comm, int ...
こいつは,あるランクからの送信が着ているかどうかをチェッ...
その結果をflagに代入してくれます.
サンプルは&ref(struct_iprobe.c);を参考に.
** 構造体で渡す [#kcbf9710]
まとまったデータとして通信したいときは,構造体として値を...
このときは,
typedef struct MyStruct_tag {
int x;
int y;
int z;
} MyStruct;
MyStruct send_struct;
MPI_Send(&send_struct, sizeof(MyStruct), MPI_CHAR, 0, TA...
こんな感じに構造体のサイズをsizeof演算子で取れば,char型...
調べられて楽チンです.
サンプルは&ref(struct_iprobe.c);を参考に.
** タグの使い方 [#s89173fb]
タグは,例えばランク1からランク2へデータを送るとき,
2通りの意味でデータを送りたい,しかもどっちが先に受信さ...
その2通りでよくわからないというときに便利な機能です.
つまり,受信側と送信側でタグに整合性が取れていないと送受...
これはIprobeでも有効です.なので,こっちのタグからは送信...
&ref(struct_iprobe.c);を改造する形で&ref(tag_struct_iprob...
このように違う構造体のデータを渡したい時などに便利ですね.
終了行:
[[sc10note]]
* MPIの高度な(?)通信 [#befc3a33]
MPIの基本的な通信に関しては,プログラミングガイドにある程...
もう少し高度なことがやりたくなる時があります.そのための...
** 時間計測 [#mb2cefa2]
時間計測に関しては,多分gettimeofday()も使えるんですが,...
過去のある時点からの経過時間(秒単位)を返す
double MPI_Wtime (void)
これを二回実行することで時間を計測することができます.
** 送信待ち [#l28d81f9]
マスターワーカー型のプログラミングをしてると,
「子供からの送信が来た時だけ受信したい!」
という要求が来ます.それを簡単に実行出来るのがMPI_Iprobe...
int MPI_Iprobe( int source, int tag, MPI_Comm comm, int ...
こいつは,あるランクからの送信が着ているかどうかをチェッ...
その結果をflagに代入してくれます.
サンプルは&ref(struct_iprobe.c);を参考に.
** 構造体で渡す [#kcbf9710]
まとまったデータとして通信したいときは,構造体として値を...
このときは,
typedef struct MyStruct_tag {
int x;
int y;
int z;
} MyStruct;
MyStruct send_struct;
MPI_Send(&send_struct, sizeof(MyStruct), MPI_CHAR, 0, TA...
こんな感じに構造体のサイズをsizeof演算子で取れば,char型...
調べられて楽チンです.
サンプルは&ref(struct_iprobe.c);を参考に.
** タグの使い方 [#s89173fb]
タグは,例えばランク1からランク2へデータを送るとき,
2通りの意味でデータを送りたい,しかもどっちが先に受信さ...
その2通りでよくわからないというときに便利な機能です.
つまり,受信側と送信側でタグに整合性が取れていないと送受...
これはIprobeでも有効です.なので,こっちのタグからは送信...
&ref(struct_iprobe.c);を改造する形で&ref(tag_struct_iprob...
このように違う構造体のデータを渡したい時などに便利ですね.
ページ名: