2005 Fiscal Year Annual Research Report
行列言語インタプリタ用ランタイムルーチン生成系の開発
Project/Area Number |
17700037
|
Research Institution | Hiroshima City University |
Principal Investigator |
川端 英之 広島市立大学, 情報科学部, 助手 (00264937)
|
Keywords | 行列言語 / 数値計算 / 疎行列 / MATLAB / プログラム変換 / コード生成 / コンパイラ / インタプリタ |
Research Abstract |
本研究は,MATLABインタプリタから直接呼び出し可能なランタイムルーチンをMATLABベースの記述から生成できるシステムの開発を目的としている.MATLAB用ランタイムルーチンの記述には煩雑なインターフェース整合処理が必要でこれを人手で行うのは容易ではないが,本研究はこれを自動化しようとするものである. 平成17年度の実施計画の主要項目は,処理系開発による効果の予備評価と詳細仕様策定であった.まず予備評価として,単独のMATLABプログラム(M-file)からFortran版のランタイムライブラリソースプログラム(MEX-file)を生成する機能について,基本的なプログラム記述を対象とした変換系の試作を行い,SOR法やBi-CGSTAB法などの大規模な疎行列を用いる線形系の反復求解法に適用して実測を行った.結果として,生成したMEX-fileによるランタイムライブラリをMATLABインタプリタから呼び出した場合の計算処理速度はインタプリタでのM-fiieの処理よりも数倍高速で,Fortran等によるスタンドアロン実行と同等程度に匹敵する高さに保てる場合も多い可能性が高いこと,などを確認した. 処理系の詳細仕様策定に関しては,MATLABによる数値計算プログラムの典型的な記述パターンを精査した結果,多階層に渡る手続き呼び出しへの対応や,行列サイズの動的変更機能・サブルーチン内でのメモリ領域確保機能などへの対応が,実用性向上のために必要であることが分かった.これらを踏まえた処理系の整備と評価が次年度の課題である.なお動的処理への対応は出力コードの実行速度に悪影響を与えかねないが,これを必要とする固有値解析向け基礎アルゴリズム(ハウスホルダQR分解)による予備評価の結果,MATLABインタプリタを上回る実行速度の達成が見込めることについて確認済みである.
|