TOP500,
本記事では,
- ※)
- 本件の技術詳細については
(株) 富士通研究所より解説記事が公開されています。併せてご覧ください。
共同開発のきっかけ
光成:きっかけは小崎さんからお声をいただいたことでした。
小崎:僕が富士通研究所の研究員をやりつつサイボウズの技術顧問もしていて,
福本:富岳に搭載されている
そのoneDNNの中で利用されていたのが光成さんが開発していたXbyakで,
小崎:そうですそうです。それで私が光成さんにご相談した結果,
光成:そういえば,
福本:細かい最適化ができないとディープラーニングのライブラリを作るなんてできないだろうと思ったので,
光成 滋生
サイボウズ・
ラボ (株) さまざまなCPUや特殊プロセッサ向けのmp3やMPEG4などのコーデック開発に関わったのち,
2007年サイボウズ・ ラボ入社。ペアリングライブラリの世界最速実装を達成したほか, Ethereumなどのブロックチェーン系プロジェクトで利用されているBLS署名ライブラリの開発を行った。Xbyakは入社前から続けている個人開発プロジェクトである。
小崎 資広
(株) 富士通研究所 上席研究員, サイボウズ (株) 技術顧問 しばらく家電の世界で働いた後,
2005年に富士通研究所入社。LinuxやRubyのコア開発者として, 一貫してオープンソースの世界で働き続けている。2017年にサイボウズ技術顧問就任。
福本 尚人
(株) 富士通研究所 プロジェクトマネージャー 2012年より,
富士通研究所でプログラムの高速化に関する研究開発に従事。最新ハードウェア向けに, HPCアプリ, Linpack, 行列積などの高速化を行ってきた。Intel CPUを搭載したスーパーコンピュータにおいて, TOP500 (スパコンランキング) 向けの高速化や大規模分散並列深層学習の高速化に関わり, 日本一, 世界一性能の達成に貢献している。2019年よりマネージャーとして, Arm向けディープラーニングのソフトウェアスタック開発を行っている。
- ※1)
- Intelが開発したx86向けディープラーニング専用ライブラリ。開発当時はMKL-DNNという名称だった。これを,
富岳に搭載されているArm系CPUであるA64FX向けに移植および最適化を行い, 世界最高性能を達成するのがプロジェクトの最終目標。
「Xbyak_ aarch64」 開発のハマリどころ
小崎:まず我々の大きなディシジョンとして,
川上:XbyakとXbyak_
光成:そうですね。
川上:それを,
私自身,
実を言うとバグは1個か2個くらいはあったんですが,
川上 健太郎
(株) 富士通研究所 シニアリサーチャー 2007年,
富士通研究所入社。画像コーデックLSIやセンサノードの研究開発に携わる。回路, アルゴリズム, ソフトウェアなどさまざまな階層を横断的に最適化することにより, システム全体の高効率化・ 低電力化を実現する技術開発に強みを持つ。2019年よりArm HPC環境向けのディープラーニング処理ソフトウェア開発に従事。
小崎:要約すると,
川上:そこはたぶん,
光成:先ほどすぐに実装に入られたとおっしゃいましたけど,
川上:そうですね,
福本:そういえばXbyak_
川上:ああ,
光成:それも最初のディスカッションのときに
- ※2)
- Large-Scale Integration,
大規模集積回路のこと。 - ※3)
- Intelの場合は8080やMS-DOSの時代から,
後方互換性を満足するため, 命令コードを自己書き換えした場合にこれを検出して自動で命令キャッシュをリフレッシュする挙動になっている。富岳に使われているA64FXなど, 命令キャッシュとデータキャッシュの搭載が当たり前になった時代の後に設計されたCPUは, JITコードを生成した後, CPUの命令キャッシュを意図的にリフレッシュしないと, 生成したJITコードを実行できない場合がある。