研究課題/領域番号 |
22H03604
|
配分区分 | 補助金 |
研究機関 | 九州大学 |
研究代表者 |
小野 謙二 九州大学, 情報基盤研究開発センター, 教授 (90334333)
|
研究期間 (年度) |
2022-04-01 – 2025-03-31
|
キーワード | 方程式推定 / サロゲートモデル / 遺伝的プログラミング / In-Situ処理 |
研究実績の概要 |
本年度は、サロゲートモデル構築の中核技術である方程式推定システムの高速版プロトタイプを開発した。本課題申請時の準備段階で、Pythonにより方程式発見のコードを作成していたが、それまでの取り組みの結果から推定の試行回数や計算時間が多大になることが明らかとなっていた。原因としては、開発効率の高いPythonではあるが、実行時間が遅い点、および効率的な並列処理が難しい点が考えられる。本研究の最終的な目的は、大規模データから方程式を発見することである。この点を考慮すると、システムの中核となる方程式発見コードの実行時間を大幅に短縮する必要がある。このため、既存システムをリファクタリングすると共に、高速な実行が可能な高性能なスクリプト言語Juliaへの移植実装を行った。Juliaでの実装は、シミュレーション実行時のハイブリッド並列処理(スレッド+MPI並列)との親和性の点でもメリットが大きい。 今年度は、既存Pythonプログラムのコア部分をJuliaに置き換え、実行結果の妥当性をPythonの実行結果と比較し、結果の同一性を確認した。逐次(非並列)実行での実行性能については、現状でPythonと同程度の実行速度となっていることを確認した。注意点として、Juliaの場合は高速実行に適した記述方法がある点である。簡単なプログラムでその記述方法と性能については調査を行い、記述方針を確認した。また、並列処理に対応した実装を行い動作確認を行った。並列性能と高速化については、次年度にコード改修と検証を実施する。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
計画していたコードの移植作業については、予定通り終了した。ただし、実行環境について、ライブラリとの整合性などの理由により、正常動作しない場合があることも判明した。Juliaのアップデートに伴う要因も含まれるため、今後注意深く情報収集やテストを行う必要がある。
|
今後の研究の推進方策 |
移植したJulia版のコードについて、今後、システムの実行速度を向上するためのチューニング、および機能拡張を実施する。また、ハイブリッド並列実行への拡張を行う。 チューニングとしては、Juliaに適したコード記述、つまりジャストインタイム型のコンパイラの特性を活かした高速実行ができるように、コードの記述方法を変更する。 機能拡張としては、まず、偏微分項生成時の制約条件を導入する。発見的なモデリングにおいては項を生成するときの多様性が重要であるが 、解空間が巨大になり組み合わせ爆発のため実用時間内で解が得られない可能性がある。そこで、偏微分項の動的生成時に制約条件を導入する ことにより、非自明な解を枝刈りする。例えば、項の有次元単位が揃わない項を排除したり、微分の連鎖則による等価表現の項を除外する機能を実装する。 次に、探索対象とする変数間の依存性を明らかにするツールを作成する。これは、多変数の連立方程式を扱う場合に有用となる。方程式探索では、左辺のターゲットとなる微分形式を定めることが必要となるが、その被微分変数を探すためのツールである。これは、従来の統計的な手法だけでなく、情報量インデクスを利用し、ロバストな方法を実装する。 並列実装としては、メニーコアのアーキテクチャを想定し、スレッド並列を実装する。また、アイランドモデルなどの並列アルゴリズムについては、MPIでの実装も評価する。
|