next up previous
: 特殊関数 : プログラミングモデル : 並列処理構文

VIOS変数

  1. 種類と宣言

    モジュール引数として実行フローより引き継がれる変数は,ivalue, fvalue, iImage, fImage, iCube, fCubeの何れかの型をとる.なお,各 型の扱いはC言語の通常変数の場合と同様である.

    注意
    これらVIOS変数に対するアクセスは,計算機外データへのアクセスを検 出するため,通常配列アクセスに比べ負荷が大きい.
    そのため,明示的な通信(vsSyncCache等)以外に計算機外データへのア クセスを行わない場合,最適化VIOS変数を利用することが推奨 される.

    最適化VIOS変数を利用するためには,各変数宣言時に,

    vs_module snake(iImage_opt data, ...)

    のように各宣言の後に _opt を付けることで可能となる.

    また,以下のようにモジュール中で宣言することにより,各計算機独立 のローカルVIOS変数を宣言することも可能となる.

    VIOS変数型 ``ローカル変数名''(``VIOS変 数'');

    ``VIOS変数''と同じサイズ(ローカルサイズで)の ``ロー カル変数''を宣言する.
    e.x)iImage temp(data);

    VIOS変数型 ``ローカル変数名''(サイズ1,...);

    サイズ1,...に定義されるサイズの ``ローカル変数''を宣 言する.
    e.x) iImage temp(30, 40);

  2. アクセス方式

    従来のVIOSと同様に,[ ]演算子を利用することで,自ワーキングセット からの相対位置で,[[ ]]演算子を利用することで,全体での絶対位置に よるアクセスを行う.

    例えば,data[3][]との指定は,自ワーキングセットからx軸方向に3,y 軸方向に0移動したポイントの値を指すことになり,data[[3]][[0]]は, 変数dataにおける(3,0)の要素を指すことになる.



Tomohide Kawawaki 平成14年3月22日