MPCXX_SPMD_INITIALIZE(3) | MPCXX_SPMD_INITIALIZE(3) |
#include <mpcxx.h>
void mpcxx_spmd_initialize(int argc, char **argv);
mpcxx_spmd_initialize()
関数は MTTL-ULT スレッドライブラリを
初期化します。
MTTL に関連した全ての関数は mpcxx_spmd_initialize()
が呼ばれた
あとに呼ばれなければなりません。
引数 argc
と argv
は main()
関数に
渡されるものと同じでなければなりません。
mpcxx_initialize()
とは違い、
mpcxx_spmd_initialize()
は全てのノード上の main()
スレッドに戻ります。
ユーザ-並列プロセスは、全てのノードで exit()
が呼ばれたときにのみ
終了します。
これは mpcxx_initialize()
を用いて初期化された MPC++ プログラムでは
当てはまりません。
mpcxx_spmd_initialize()
を呼ぶ前はメッセージが標準出力に
プリントされません。
Sync
および GlobalPtr
オブジェクトは
mpcxx_spmd_initialize()
が呼ばれた後でも初期化されません。
ファイルスコープ内のそれらのオブジェクトも初期化されません。
さらに main()
関数内の自動オブジェクトも初期化されません。
mpcxx_initialize
(3)