Daichi MUKUNOKI / 椋木 大地

Ph.D. in Engineering, Assistant Professor, Information Technology Center, Nagoya University

博士(工学),名古屋大学 情報基盤センター 助教

News / 最新情報

Recent Research Activities / 最近の研究

Conference Presentation Schedule / 学会発表予定

Profile / プロフィール

Daichi MUKUNOKI

Biography / 経歴

Education / 学歴

Research Stay Abroad / 海外研究滞在

Research / 研究

低精度演算を利用した高精度演算の実現

通常の科学技術計算には64-bit浮動小数点演算(FP64,いわゆる倍精度)が用いられる.しかしそれよりも低精度な演算,例えば32-bit単精度演算(FP32),16-bit半精度演算(FP16,BF16)が高速なプロセッサが存在する.例えばグラフィクス処理に特化したGPUや,AI処理に特化したプロセッサがその一例である.FP64演算を全くサポートしないプロセッサも存在する.このようなプロセッサでFP64演算を可能にする方法として,複数の浮動小数点数を連結して多数桁を表現する多倍長精度演算法や,行列積に対する無誤差計算法である尾崎スキームが知られている.これらの手法を応用することにより低精度演算を用いて高精度演算を高速に実行する方法・実装を開発している.

大規模言語モデル(LLM)を用いたHPCコード・数値計算コードの自動生成

LLMの性能が著しく向上し,ChatGPTに代表される対話型エージェントだけでなく,プログラムコードの実装支援・自動生成技術が実用化されつつある.しかし専門性の高いコードの生成にはまだ多くの課題がある.特にHPCで用いる数値計算コードは高度な性能最適化が求められるため難易度が高く,現状では高度な知識を持った専門家の技術を必要としている.複数LLMの連携,プロンプトの反復的な改良,RAGの活用などの工夫により,HPC・数値計算コードに特化したLLM支援コード生成方式の開発を行っている.

再現可能な数値計算の実現

有限桁の演算で実行される数値計算は丸め誤差の影響により計算順序によって計算結果が変わりうる.また特殊な命令の利用により丸め誤差の入り方が変わりうる.したがって同じアルゴリズム,同じ問題に対しても,実行環境や実装,コンパイルした実行ファイルが異なると,計算結果を再現できない場合がある.この問題は計算結果の再現,品質保証,プログラムのデバッグにおいて問題となりうる.そこで誤差の発生しない高精度演算法を利用することで,どのような計算環境においても計算結果がビットレベルで一致する計算法を開発した.

大規模分散並列計算のための高性能行列積の開発

数万プロセス規模の大規模分散並列計算では演算集中な計算であっても性能が通信律速となり,強スケーリングでの性能スケーラビリティが悪化する.そこで通信回避型アルゴリズム(2.5次元アルゴリズム)を利用し,既存の2次元分散方式を採用する行列積(いわゆるPDGEMM)と互換性のある行列積ルーチンを実装し,性能モデリングに基づく性能分析を行った.スーパーコンピュータ「京」(理化学研究所),スーパーコンピュータ「富岳」(理化学研究所),Oakforest-PACS(東京大学)を利用した性能評価では,既存のPDGEMMと比べて強スケーリング性能が改善することを示した.

GPUにおける高速な行列計算法の開発

数万スレッドでベクトル的に計算を行うGPUのプログラムは,CPU向けのプログラムとは異なる実装・性能最適化が求められる.密行列および疎行列に対する行列ベクトル積などの基本線形代数演算に対して,新しい高性能実装法を開発した.また性能を左右するプログラム実行スレッド数を自動的に調整する技術を開発した.

新しい混合精度計算法の開発

科学技術計算に標準的に用いられる倍精度演算(FP64)だけでなく,より低精度の演算,例えば単精度演算(FP32),半精度演算(FP16)などを用いることで,より高速に計算を行う混合精度計算法が広く研究されている.主に疎行列計算向けに新しい混合精度計算法,あるいは計算法に依存しない自動混合精度化手法の研究を行っている.また疎行列反復解法において,通常は倍精度演算を用いる計算においてあえて高精度な演算(4倍精度など)を用いることで,疎行列反復解法の収束性を改善し,高速に計算できる手法を開発した.

Publications / 研究業績

Journal Papers / 論文誌

Peer-reviewed Conference Proceedings / 査読付プロシーディングス

Technical Reports (Non-reviewed) / 研究報告等(査読なし)

Peer-reviewed Poster Presentations / 査読付ポスター発表

Poster Presentations (Non-reviewed) / ポスター発表(査読なし)

Oral Presentations / 口頭発表

Awards / 受賞

Funding / 研究資金獲得状況

Teaching / 教育活動

Products / 成果物

以下にプロジェクト成果物のソフトウェアを載せる.

Professional Activities / 学会活動