2006 Fiscal Year Annual Research Report
計算機代数のための標準機能ライブラリの設計、高速化技法及び応用に関する研究
Project/Area Number |
17500005
|
Research Institution | The University of Electro-Communications |
Principal Investigator |
村尾 裕一 電気通信大学, 電気通信学部, 講師 (60174265)
|
Keywords | 計算機代数 / 並列処理 / マルチコア / メモリ管理 / 多項式演算 / OpenMp / 行列基本演算 |
Research Abstract |
前年度に引き続き,性能に関する実証実験を繰り返しながらソフトウェア部品の開発を進めた.今年度は主に,パソコンで一般化してきたデュアルコアCPUを対象として,マルチスレッドによる並列処理手法の開拓を行った.マルチスレッド化には,できるだけ簡単に行うためにOpenMPを用いた.数式の計算においてはメモリ管理の機能は必須だが,OpenMP環境下においてオンザフライ式にGCを行う簡単な方法を考案し,実験を行った.この並列処理実験では,並列処理の方法を数種類に分類し,それぞれについて典型的な式の計算で実証実験を行った.こうした実験を通して,効率の向上を目指すには,CPUの性能を最大限に引き出すには式の計算においても均一データのデータ並列型の処理を行ってキャッシュを意識したプログラミングが必須であること,複数の式に対し同等の計算を並列処理するために処理のキューイングを行うこととそのOpenMPによる記述方法,その処理性能が結局はデータ量とキャッシュサイズに大きく依存すること等が判った.これらの結果については,国際会議で報告を行った.また,プログラミングと実証実験を通して,PC向けの汎用CPUと大規模並列計算機向けのCPUではキャッシュやメモリの構成やアクセス性能がひどく異な,画一的なプログラミング法では性能がなかなか発揮しないことも判った。実際,BLAS開発の世界的権威がどののように開発を進めどれ位の性能が達成されるかを研究関係者より伝え聞き,高度な応用計算において高性能を達成するには適切な切り口・インタフェース・モジュールを設計することの重要性および本研究の重要性を再認識した.併せて,メモリアクセスのバンド幅が限れらている汎用計算機においては行列乗算等の単純な行列演算では性能を十分に引き出すことは殆ど不可能との教示もあり,今後は代数計算のより高機能な単位でのモジュール化をすすめることが適切であるとの考えにいたった.そのひとつの方向として数式の描画を取り上げ,そのアルゴリズムの再検討と並列処理の方法について検討を開始した. また,本研究では、数式を扱う数学関連のソフトウェア向けの汎用的なインタフェースの研究も進めており,WEBページ上での数式の入力・編集を行うためのAJAXライクな対話性を持ったツールの研究開発を行い,その試作品と用いた技法を国際会議でデモを交えて発表した.その結果,海外の研究者から,技法に関する問い合わせと別ソフトウェアへの流用の可能性の問い合わせがあった.
|
Research Products
(2 results)