特殊関数
各ワーキングセットにおいて、境界条件などの例外処理、およびインデックス情報などを得るために使用する関数。
1.アドレス変換関数
各計算機が持っている分割データ中でのindex と、統合された全データにおけるindex の変換を行うための関数。
int l2g_x (VIOS変数,num )
VIOS変数x軸における、ローカルindex num を、全体データでのindex に変換する( local to global )。
int l2g_y (VIOS変数,num )
VIOS変数y軸における、ローカルindex num を、全体データでのindex に変換する( local to global )。
vsImage,vsCube変数のみ利用可能。
int l2g_z (VIOS変数,num )
VIOS変数z軸における、ローカルindex num を、全体データでのindex に変換する( local to global )。
vsCube変数のみ利用可能。
int g2l_x (VIOS変数,num )
VIOS変数x軸における、グローバルindex num を、ローカルデータでのindex に変換する( local to global )。
int g2l_y (VIOS変数,num )
VIOS変数y軸における、グローバルindex num を、ローカルデータでのindex に変換する( local to global )。
vsImage,vsCube変数のみ利用可能。
int g2l_z (VIOS変数,num )
VIOS変数z軸における、グローバルindex num を、ローカルデータでのindex に変換する( local to global )。
vsCube変数のみ利用可能。
2.VIOS変数からの情報取得関数
VIOS変数における、幅や高さなどの全体の情報を得るための関数。
int orig_width (VIOS変数)
VIOS変数全体における、x軸方向の最大値を得る。
int orig_heigh (VIOS変数)
VIOS変数全体における、y軸方向の最大値を得る。
int orig_depth (VIOS変数)
VIOS変数全体における、z軸方向の最大値を得る。
int local_width (VIOS変数)
ローカル計算機が保有する、VIOS変数x軸方向の最大値を得る(ただし、キャッシュを含む)。
int local_heigh (VIOS変数)
ローカル計算機が保有する、VIOS変数y軸方向の最大値を得る。(ただし、キャッシュを含む)。
int local_depth (VIOS変数)
ローカル計算機が保有する、VIOS変数z軸方向の最大値を得る。(ただし、キャッシュを含む)。
int local_min_x(VIOS変数)
ローカル計算機が保有する、VIOS変数に対して、処理を行うワーキングセットの最小x値を得る。
int local_max_x(VIOS変数)
ローカル計算機が保有する、VIOS変数に対して、処理を行うワーキングセットの最大x値を得る。
int local_min_y(VIOS変数)
ローカル計算機が保有する、VIOS変数に対して、処理を行うワーキングセットの最小y値を得る。
int local_max_y(VIOS変数)
ローカル計算機が保有する、VIOS変数に対して、処理を行うワーキングセットの最大y値を得る。
int local_min_z(VIOS変数)
ローカル計算機が保有する、VIOS変数に対して、処理を行うワーキングセットの最小z値を得る。
int local_max_z(VIOS変数)
ローカル計算機が保有する、VIOS変数に対して、処理を行うワーキングセットの最大z値を得る。
3.VIOS変数のコピー
型全体のデータを同型式、同サイズの変数へコピーするための関数(ただし、キャッシュ領域のデータも上書きされる)。
ただし、以下の関数を呼ぶ前に、parallel構文もしくは明示的データ待ち関数を記述する必要がある
void ValCopy (VIOS変数1,VIOS変数2)
vsvalue型(ivalue,fvalue)の変数2から変数1へ全データ領域をコピーする。
void ImgCopy (VIOS変数1,VIOS変数2)
vsImage型(iImage,fImage)の変数2から変数1へ全データ領域をコピーする。
void CubeCopy (VIOS変数1,VIOS変数2)
vsCube型(iCube,fCube)の変数2から変数1へ全データ領域をコピーする。
4.全体での処理や通信を制御する関数
5.明示的データ待ち関数
次の関数以降では完全にデータがそろっていることが保証される.
void vsDataWait1D ()
1次元データの受け渡し(メインプロセスからの分割・転送)の終了を待つ。
void vsDataWait2D ()
2次元データの受け渡し(メインプロセスからの分割・転送)の終了を待つ。
void vsDataWait3D ()
3次元データの受け渡し(メインプロセスからの分割・転送)の終了を待つ。