Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - Русский

Please note that the recommended version of Scilab is 6.0.2. This page might be outdated.
However, this page did not exist in the previous stable version.

Scilabヘルプ >> Scilab MPI > MPI_Isend

MPI_Isend

ノード間の非ブロッキングデータ送信

呼び出し手順

res = MPI_Isend(value,node)

引数

value

特定のノードに送信する値.

node

データを送信するノード

res

処理結果 (成功時にtrue,失敗した場合はfalse)

説明

特定のノードに変数を非ブロック(非同期)モードで送信します. この値はノードで関数 MPI_Irecvにより 取得します.

MPI_Init();
rnk =    MPI_Comm_rank();
sizeNodes =    MPI_Comm_size();
SLV = rnk;
Master = ~ SLV;
assert_checkequal(MPI_Comm_size(), 2);
if Master
   for slaveId = 1:sizeNodes-1
     value = slaveId*2
     MPI_Isend(value, slaveId, 42);
   end
else
    rankSource=0;
    tag=0;
    MPI_Irecv(rankSource, tag, 42); // MPI_Irecv does not return any value
    value=MPI_Wait(42) // the value will be returned by MPI_Wait
    assert_checkequal(value,2);
end
MPI_Finalize();
exit()

参照

  • MPI_Irecv — ノードからデータをノンブロッキング受信する
  • MPI_Wait — MPIリクエストの完了を待つ
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Apr 01 10:25:14 CEST 2015