- 初めに
- 目次
- 第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)
夢ナビライブ参加ありがとうございました
沢山の皆さんにご参加いただきありがとうございました。ほぼこちらから喋りっぱなしで,あまり質問をお受けできませんでしたが,まだ時間はありますので,期限内に思いついた質問などありましたら,当該ページから書き込んで下さい。
皆さんの進路選択の一助になれば幸いです。
夢ナビライブに参加します
高校生向けの進学イベント・夢ナビライブに参加します。
https://yumenavi.info/portal.aspx?CLGAKOCD=018600&p=s018600040
上記のところから10秒動画を見ることができます。後ろにそっくり返って話しているのがちと気になりました。
追手門学院大学・理工学部・数理・データサイエンス学科
2025年度より,大阪・北摂の追手門学院大学に異動しました。静岡理工科大学には1999年度から26年間在籍しましたが,今後は65歳の定年を迎える2033年度までの9年間,大阪にて研究・教育活動に邁進する所存です。
今までは「情報学部」という,コンピュータと結びつけば何でもありの学部に居ましたので,卒研はWebアプリ制作が専らでした。今後も卒研ネタの一つとしてアプリ制作は奨励しますが,個人的にはHPC関連のネタが増えて欲しいなと念願しています。つってもAI関連が多いんだろうけどそれはそれで。
あまり縁がなかった近畿地方にて老骨に鞭打って「データサイエンス」に邁進する所存ですので,本ページも含め,今後ともよろしくお願い致します。

cs-tklab2更新完了
さくらインターネットに間借りしている3台のサーバインスタンスのうち,cs-tklab2は卒研で使っている関係上,アップグレードを先延ばしにしていましたが,本日先ほど,Ubuntu 22.04LTSから24.04LTSへ更新完了しました。一応ApacheもPHP (7.4→8.3)も動いているようですが,不都合あるようでしたらチマチマ直していきます。
卒研テーマ例)Arm CPU向け可変長精度計算高速化
Arm CPU向けの可変長精度計算,特にBLASレベルの高速化を希求する。SVEが使える環境は,コンシューマレベルでは2025年2月現在なさそうで,AWSとか不老とか富岳を使う必要があるが,とりあえず128bit SIMDのNEONから対応を考える。比較検討するのは同じく128bitの下記二つ。
- WASM SIMD
- SSE
BNCmatmulの書き換えが必要になりそうだけど,それよりはC++でTemplateライブラリにしてMPBLASに合わせた方が良さげ。
Copilot+PC仕様のWindowsマシン上でWSL環境とかVisual Studio環境がまともに動くようならこれ使うけど,基本,Rasberry Piでいいんじゃないかなと。とりあえず1台買ったので,まずはBNCmatmulのコンパイルができるところまでは持っていくつもり。
卒研テーマ例)MPIBNCmatmulの実装と性能評価
卒研というより,教員個人研究の延長線上のテーマですが,現状のBNCmatmulのOpenMP並列化された基本線形計算の機能を,分散メモリ並列環境のMPIに対応させるという,単純ですが労力のかかるテーマです。MPIBNCpackという先行ライブラリがあり,MPFR任意精度計算は対応済み。あとはDD, TD, QDといったマルチコンポーネント固定精度計算部分をMPI化するというのがメインの開発になります。あとはBLAS1, 2, 3のベンチマークテストをスパコン上で行うという,これも結構面倒なものになりますが,Python化しておけば楽なので,検証用スクリプト開発が核心になりそう。
