IEEE倍精度(binary64)ベースのマルチコンポーネント方式多倍長精度浮動小数点演算の性能比較を,JuliaのMultiFloats.jlとBNCmatmulに対して行う。異なる言語系でどうすれば正確かつフェアな比較が行えるかを検討し,基本線形計算BLASを実装して計算時間の比較を行い,メリットとデメリットをまとめる。指導教員の研究に沿った内容なので,自分の考えも付加してもらえるとありがたい。
卒研テーマ名)DGX Spark (GB10)におけるBLASベンチマークと混合精度反復改良法実装への応用
DGX Spark (GB10)は20コア Arm CPUとBlackwell GPUを搭載し,両方からアクセスできる128GB RAMを持ったAI開発用ワークステーションである。主としてNVFP4(4bit浮動小数点数)を用いたAIベンチマークは多く見かけられるが,binary32 (float32)やbinary64 (float64),そしてCUDAがサポートしているbinary128 (float128)の性能については定かではない。非公式情報ではbinary32が29.71TFlops,binary64が464.3GFlopsと,64:1の性能差があるというが,NVIDIAは否定している。
とりあえずCUDAのcuBLASがサポートするSGEMM(binary32)とDGEMM(binary64)の速度を計測し,CPU上ではOpenBLASのSGEMMとDGEMMを実行して速度計測を行う。OpenBLASはArm Neon(128-bit SIMD)とSVE2(~512-bit SIMD)対応しているので,その差もついでに確認しておく。
その結果をもって,CPUとGPUをどのように使えばbinar32-binary64混合精度反復改良法が高速に実現できるかを検討する。
HPCシステムズのベンチマーク結果が出たので,こちらを参照しながら自分の環境でも確認すること。
卒研テーマ名)QD, GQDへの3倍精度実装の追加と高性能化
Branch-freeアルゴリズムをTDとQDに取り入れたCPU用,GPU(CUDA)用のマルチコンポーネント方式のライブラリを構築し,ベンチマークテストを行ってGitHubにオープンソースとして公開する。MPLAPACK/MPBLASに組み込めることが望ましい。前の奴のブラッシュアップ版。SIMD化,CUDA化とベンチマークテストも含めて二人以上で取り組んでも可。余裕があれば,binary64ベース(DD, TD, QD)だけではなく,binary32ベースのDS, TS, QS実装も欲しい。
参考1)CPU上での多倍長精度浮動小数点演算実装
参考2)GPU(CUDA)上での多倍長精度浮動小数点実装
卒研テーマ名)cuTile Pythonを用いた高性能計算アルゴリズムの実装
行列乗算の事例をもとに,cuTileの機能をまとめ,まずはPythonで様々な数値計算アルゴリズムを実装し,しかる後に多倍長精度計算にもチャレンジする。
卒研テーマ名)ブランチフリーアルゴリズムを用いたQD,GQDライブラリの高速化
Branch-freeアルゴリズムを用いて,QD,GQDライブラリのうち,QD精度演算の高速化を行って高速化の効果を調べる。その後,TD精度演算をクラスとして実装し,同様にベンチマークテストを行ってDD,TD,QD精度で比較を行う。
オリジナル論文ではTemplate機能を用いたSIMD化と線形計算高速化を行っているので,同様に比較検討を行う。
「AI時代の高性能計算入門」目次
- 初めに
- 目次
- 第0講 「高性能計算」で目指すもの・開発環境の準備
- 第1講 コンピュータアーキテクチャと演算
- 第2講 浮動小数点演算の基礎
- 第3講 多倍長精度演算技法
- 第4講 基本線形計算とLAPACK/BLAS
- 第5講 基本線形計算の並列化技法
- 第6講 無誤差変換技法と尾崎スキーム
- 第7講 固有値・固有ベクトル計算(中間レポート1)
- 第8講 Pythonにおける浮動小数点演算
- 第9講 深層学習とPyTorch
- 第10講 PyTorchとHugging Face
- 第11講 PyTorchベンチマーク(中間レポート2)
- 第12講 Juliaによる高性能計算
- 第13講 非線形計算問題(最終レポート)
「AI時代の高性能計算入門」テキスト執筆開始

今のところ理想に近いものが見当たらないようなので,「AI時代の高性能計算入門」の執筆を開始することにした。といいながらWebで下書きしながらだし,他の急ぎの仕事もあるので,それが終わってから,暇を見つけての仕事になるから,気が付いたら尻切れトンボになる可能性もある。とはいえ,次年度(2026年度)中には終わらせておかないと,2027年からの卒研開始に間に合わなず,ゼミ資料が皆無の状態で始めるのは不味いので,2026年夏休みぐらいにはある程度の完成度には持っていきたい。
ここで言う「AI時代」には二つの意味がある。一つは,あらゆる計算資源が生成AIに象徴される深層学習(deep learning)に動員されるようになってしまい,CPUもGPUも計算リソースを低精度浮動小数点(FP)演算強化にフォーカスした進化を遂げるようになってしまったことである。このため,今までは倍精度FP演算(binary64)を標準として使っていた多くの科学技術計算の性能向上のためには,低精度FP演算を高精度にするためのテクニックが必要で,我が従事してきた多倍長精度演算技法が不可欠となった。当然,深層学習そのものを利用するにしても,低精度FP演算能力を生かすための工夫が必要であることは言うまでもない。つまり,利用用途に応じた可変長精度(variable-precision)演算技法が求められるようになったということである。
もう一つの意味は,生成AIによってあらゆる人間の知的活動が下支えされるようになったことである。その中でも,多彩なソフトウェアを構築するためのプログラミング技法は,かなりの部分,AIによる助力が期待できるようになった。もちろん,完璧なプログラムを作るにはいささか心もとないところがあり,プロンプト(指示文)による詳細な指示も必要な上,現状では人間によるチェックが欠かせない。「高性能計算(high performance computing)」は,与えられた計算環境の性能を最大限発揮するための技法を追求する学問であるから,AIの助力を得て作成したソフトウェアの性能を評価する方法についてもしっかり学ぶ必要がある。
以上,2点の需要を満たした最適なテキストは,2026年現在存在しない。今までの知見を総合し,かつ,自分の所有するNote PCでも可能なプログラミングやベンチマークテストを行えるような自主学習テキストが,今の時代は不可欠である。古くても重要な数値計算や低レイヤーに関連する話題も,PyTorchやTensorFlowといった深層学習ツールを使った演習も含め,「AI時代」に相応しい「高性能計算」の入門用テキストを目指し,本blogに記事を積み重ねていきたいと考えている。
2026年1月25日(日) 駿府城下の自宅にて
幸谷智紀
神戸市立科学技術高等学校・進路ガイダンス・模擬講義
2025年12月16日(火) 9:50~10:40「数理・データサイエンス学」受講生の皆さん向けの講義資料を下記に置いておきます。
レポート作成等で必要な方は参照して下さい。
数理・データサイエンス概論解説動画
1年生向けのオムニバス講義「数理・データサイエンス概論」2回分の解説動画をYouTubeにアップしました。本研究室で行っている研究の一端が分かるかもしれません。
数理・データサイエンス概論「高性能計算」(1/2)
数理・データサイエンス概論「高性能計算」(2/2)
夢ナビライブ参加ありがとうございました
沢山の皆さんにご参加いただきありがとうございました。ほぼこちらから喋りっぱなしで,あまり質問をお受けできませんでしたが,まだ時間はありますので,期限内に思いついた質問などありましたら,当該ページから書き込んで下さい。
皆さんの進路選択の一助になれば幸いです。
