著者
宮沢 稔 岡本 雅巳 笠原 博徳
雑誌
全国大会講演論文集
巻号頁・発行日
vol.48, pp.25-26, 1994-03-07

マルチプロセッサシステムにおける従来のFortran自動並列化コンパイラではDo-allやDo-acrossなどのループ並列化のみが用いられていた.この場合,ループ以外の部分の並列性,たとえば基本プロック内部の並列性や,基本プロック,ループ,およびサプルーチン間の粗粒度並列性を利用することはできなかった.筆者らは以上のような間題を解決するため,従来よりマルチグレイン並列処理手法を提案してきた.これは,基本プロック,ループ,サブルーチンより定義される粗粒度タスク(マクロタスク)の並列処理(マクロデータフロ処理),中粒度並列処理(ループ並列化),細粒度並列処理を階層的適用した並列処理手法である.
著者
赤鹿 秀樹 岡本 雅巳 宮沢 稔 安田 泰勲 笠原 博徳
雑誌
全国大会講演論文集
巻号頁・発行日
vol.52, pp.73-74, 1996-03-06

マルチプロセッサシステムにおける従来のFortran自動並列化コンパイラではループ並列化が主に用いられていたが,プロセッサ台数の増加と共に,ループ並列化だけではスケーラブルな処理速度が望めなくなっている.そこで,筆者等は従来自動並列化が不可能であったループ以外の並列性,例えば,基本ブロック,ループ,サプルーチン間の並列性を利用した粗粒度タスクの並列処理(マクロデータフロー処理)手法および基本ブロック内部の近細粒度並列処理手法を提案している.また,筆者等は粗粒度・中粒度(ループ並列化)・近細粒度並列処理を階層的に適用する並列処理理手法であるマルチグレイン並列処理手法,さらにループ内あるいはサブルーチン内の粗粒度並列性を階層的に利用してクラスタ内部で階層的にマクロデータフロー処理を行なう階層型マクロデータフロー処理も提案している,この階層型マクロデータフロー処理では,粗粒度タスク間のスケジューリング方法として,ダイナミックスケジューリング,スタティックスケジューリングを使い分けて行なうことにより,スケジューリングの際に生じるオーバーヘッドを抑えるようにしている.本稿では,階層型マクロデータフロー処理におけるマクロタスクのスケジューリング手法について提案する.
著者
岡本 雅巳 合田 憲人 宮沢 稔 本多 弘樹 笠原 博徳
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.35, no.4, pp.513-521, 1994-04-15
被引用文献数
32

本論文ではFortranプログラムにおける、基本ブロック・ループ・サブルーチン間の粗粒度並列性を階層的に利用する階層型マクロデータフロー処理手法について述べる。筆者らは既に粗粒度タスク間の並列性をマクロタスクの最早実行可能条件解析を用いて自動抽出する単階層のマクロデータフロー処理手法を実現している。階層型マクロデータフロー処理は、従来の単階層マクロデータフロー処理では利用していなかったループやサブルーチン等のマクロタスク内部の粗粒度並列性も抽出することを可能にする。特に、本論文では階層型マクロデータフロー処理手法におけるマクロタスクの階層的定義手法、マクロタスク間の階層的並列性抽出手法、および階層的に定義されたマクロタスクの階層的なプロセッサクラスタヘのスケジューリング方式について述べる。また、本手法のOSCAR上での性能評価の結果についても述べる。
著者
稲石大祐 木村 啓二 藤本 謙作 尾形 航 岡本 雅巳 笠原 博徳
出版者
一般社団法人情報処理学会
雑誌
情報処理学会研究報告計算機アーキテクチャ(ARC) (ISSN:09196072)
巻号頁・発行日
vol.1998, no.70, pp.31-36, 1998-08-05
被引用文献数
2

従来のコンパイラによる単一プロセッサ用キャッシュ最適化は個々のループを対象としているため、プログラム全体に比べると局所的な最適化が多く、プログラム全域を対象としたキャッシュ最適化は行われていない。そこで本稿では、最早実行可能条件解析を利用した単一プロセッサ上でのFORTRANプログラムのキャッシュ最適化手法を提案する。OSCAR FORTRANマルチグレイン自動並列化コンパイラは、FORTRANプログラムをループ・サブルーチン・基本ブロックの3種のマクロタスク(MT)に分割し、各MTに最早実行可能条件解析を行いマクロタスクグラフ(MTG)を生成する。MTGは制御依存及びデータ依存に基づくMT間の実行順序制約、及びMT間で授受されるデータに関する情報を表現する。本手法ではこのMTGを用いて、先行MTによってアクセスされたデータにアクセスする後続MTが先行MTの直後に実行されるよう大域的なコード移動を行い、キャッシュヒット率を向上させる。本手法は、OSCAR FORTRANマルチグレイン自動並列化コンパイラ中に、最適化された逐次型FORTRANを出力するプリプロセッサ機能として実現されている。CG法プログラムを用いた本キャッシュ最適化手法の性能評価結果を行ったところ167MHz UltraSPARC上で最高62%の速度向上が得られた。Cache optimizations by a compiler for a single processor machine have been mainly applied to a singlenested loop. On the contrary, this paper proposes a cache optimization scheme using earliest executable condition analysis for FORTRAN programs on a single processor system. OSCAR FORTRAN multi-grain automatic parallelizing compiler decomposes a FORTRAN program into three types of macrotasks (MT), such as loops, subroutines and basic blocks, and analyzes the earliest executable condition of each MT to extract coarse grain parallelism among MTs and generates a macrotask graph (MTG). The MTG represents data dependence and extended control dependence among MTs and an information of shared data among MTs. By using this MTG, a compiler realizes global code motion to use cache effectively. The code motion technique moves a MT, which accesses data accessed by a precedent MT on MTG, immediately after the precedent MT to increase a cache hit rate. This optimization is realized using OSCAR multi-grain compiler as a preprocessor to output an optimized sequential FORTRAN code. A performance evaluation shows about 62% speed up compared with original program on 167MHz UltraSPARC.