研究課題/領域番号 |
22K11984
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 京都橘大学 |
研究代表者 |
平石 拓 京都橘大学, 工学部, 専任講師 (60528222)
|
研究期間 (年度) |
2022-04-01 – 2026-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
4,030千円 (直接経費: 3,100千円、間接経費: 930千円)
2025年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2024年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2023年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2022年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
|
キーワード | プログラミング言語 / 並列・分散処理 / 高性能計算 |
研究開始時の研究の概要 |
我々はこれまで,グラフ探索など不規則な構造を持つデータや計算を扱うアプリケーションを,スパコン等で効率良く並列化するためのプログラミング言語の開発に取り組んでいる.その成果として後戻り方式と呼ぶ独自の並列計算機構を提案し,それを取り入れて開発した並列言語は非常に優れた性能を実現している.しかし,この言語はCやFORTRAN言語等で開発された既存のプログラムを移植して用いたり,他の既存のプログラムの一部に組み込む形で使うのは非常に難しくなっている.この研究は,後戻り方式の並列計算機構の実装方式を改めることで,この機構をC言語ライブラリ等のより使いやすい形で提供することを主な目的とする.
|
研究実績の概要 |
これまで入れ子関数を用いたコードを変換先とするコード変換器としてして提供してきた「一時後戻りによる動的負荷分散」機能を,非標準のC言語機能である入れ子関数を用いず,ヒープ上に確保したスタックに「一時的後戻り」に必要な情報を保存することで,木探索アルゴリズムを,プログラマが必ずしも再帰呼び出しの書き方によらずに書けるようなプログラミングモデルを提案し,その構想についてポスター発表を行った.これは,昨年度に動作実験を行った実装方式を実際に利用するためのプログラミングモデルを提案したものとなる.この実装は,現時点では並列で動作するものではないが,ヒープ上に確保したスタックのトレースをワークスティール時に実施することで,従来のTascellと同等のワークスティール機構を実現するような具体的な実装方式の検討を行った. Tascellの入れ子関数によらない他の実現方式として,C++の機能を利用した実現方法の検討・実装・評価を学外の研究者との共同研究により引き続き実施した.これは,具体的には入れ子関数のかわりにC++11のラムダ式を利用するものだが,今年度はラムダ式を単純に用いた場合に生じる大きなオーバーヘッドを削減するための実装手法の提案や,従来の入れ子関数方式の種々の実装の性能比較も行った.これらの成果は国際会議で発表した. 加えて,TascellとOpenACCを組み合わせることで,TascellのワーカがGPUを利用できるようにする機能拡張およびベンチマークアプリケーションによる予備評価も行った.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
入れ子関数ではなくヒープ上に確保したスタック上で一時的バックトラックを実現する方式のためのプログラミングモデルの設計および実装方式の検討に想定より時間がかかったため,研究の第二段階としていた「独自スケジューラの利用廃止」には至っていないが,開発そのものは進展している. 別に検討している方式の,C++のラムダ式を用いる実現方式の研究が進展していることもあり,総合的には現時点でおおむね順調に進展しているといえる.
|
今後の研究の推進方策 |
今年度までに提案したプログラミングモデルの実装の完成を急ぐとともに,次の研究段階である独自スケジューラの利用廃止に向けた検討および実装を進める.
|