抄録/ポイント:
抄録/ポイント
文献の概要を数百字程度の日本語でまとめたものです。
部分表示の続きは、JDreamⅢ(有料)でご覧頂けます。
J-GLOBALでは書誌(タイトル、著者名等)登載から半年以上経過後に表示されますが、医療系文献の場合はMyJ-GLOBALでのログインが必要です。
オブジェクト指向の機能や各種データ構造を提供するクラスライブラリを標準でサポートするコンパイラ言語としてC++が広く用いられており,これまでCにより多くのプログラムが記述されてきた分野でもC++による開発が進められるようになってきている.これらC++で記述されたプログラムの高速化の手段として,プログラムの並列化は依然として有効である.その一方で,実装の詳細が隠蔽されがちなC++プログラムでプログラム全域に渡る手動並列化は困難であり,自動並列化に対する期待が高い.しかしながら,仮想関数呼び出しやポインタ変数の過度の使用がC++プログラム自動並列化に必要なプログラム解析の阻害要因となる.本稿では,OSCAR自動並列化コンパイラのC++対応のための拡張について述べる.C++対応の最初のステップとして,C++フロントエンドの開発及びOSCARコンパイラの中間表現拡張を行った.さらに,コンパイラの解析器に対して仮想関数呼び出しの解析機能の追加を行った.上記拡張を行ったOSCARコンパイラを,SPEC CPU2006に含まれる447.dealIIのCGソルバを基にしたテストプログラムで評価を行ったところ,g++を用いた逐次実行と比較して6コア並列実行で3.27倍の速度向上が得られた.(著者抄録)