| | 13 | |
| | 14 | * なお、このプログラムから、kernelプログラムは別ファイルとして処理している。"hellocal.cpp"の34-51行にて、"prog.il"というファイルを読み込んでいる。kernelプログラムのみに変更を加える場合には、このファイルを変更するだけでよくて、再度makeする必要はない。 |
| | 15 | |
| | 16 | * "hellocal.cpp"の本体部分は、これまでのプログラムとほとんど変わりがない。入出力用の配列を2次元から1次元としたことが大きな違いである。69-70行で、"calResAllocLocal1D()"によって1次元のメモリを確保している。この入力用のメモリには、78-84行にて1からnx(=256)の数字を代入している。 |
| | 17 | |
| | 18 | * 計算domainは(0, 0, 256, 1)としている(109行)ので、256個の論理プロセッサにて"prog.il"が実行される。 |
| | 19 | |
| | 20 | * kernelプログラムは、前と比べるとかなり変更がある。重要な変更点は: |
| | 21 | 1. "dcl_literal"による定数値の宣言と利用 |
| | 22 | 2. "whileloop"によるループ処理の記述 |
| | 23 | 3. データを読み込むポインタの更新 |
| | 24 | |
| | 25 | 以下、個々の点について詳しく説明する。 |