Please enable JavaScript in your browser.

fltech - 富士通研究所の技術ブログ

富士通研究所の研究員がさまざまなテーマで語る技術ブログ

ISC 2024に参加・発表しました #2 ~FUJITSU-MONAKAプロセッサとは?~

こんにちは、富士通研究所 先端技術開発本部の落合涼太、湊祐介です。富士通が開発しているプロセッサ「FUJITSU-MONAKA」に関する富士通の活動を展示発表するため、2024/05/12~5/16にドイツのハンブルクで開催された国際会議ISC High Performance 2024(https://www.isc-hpc.com/)に現地参加してきました。 この国際会議には富士通から複数のメンバーが現地参加したため、参加したメンバーのリレー方式で3編に分けて報告します 。 第2回目は先端技術開発本部 の展示説明内容とソフトの動向調査についてです。

先端技術開発本部の展示概要

先端技術開発本部は現在開発中のArm CPUであるFUJITSU-MONAKAに関するソフトウェア開発状況をメインに展示発表しました。 これまで富士通はHPCに向けたプロプライエタリなソフトスタック製品を開発・提供してきました。 しかし、FUJITSU-MONAKAでは、ターゲットであるデータセンターを見据えて、HPCだけでなくAI/MLやデータ解析などの幅広いソフトスタックをすでにデファクトスタンダードとして使われているオープンソースソフトウェア(以降、OSS)を中心に調査検証中です。 それに加えて、これまで培ってきた富士通のソフトウェア開発技術をそれらのOSSに取り込んでいくことでArmエコシステムに貢献するとともに、富士通の技術を活用したOSSベースのソフトスタックを構築しようとしています。 このような活動を紹介したスライドの簡単な説明と現地でのやり取り、所感を以降に記載してきます。 フルスライドはISC High Performance 2024 : Fujitsu Globalをご参照ください。

        

富士通のコンパイラ技術をLLVMへ

LLVMコミュニティの中での富士通の取り組みについて紹介しました 。 これまではプロプライエタリなコンパイラを開発してきましたが、他社のコンパイラでもベースとして多く使われるLLVMへ富士通も転換をすすめることを考えています。 そのため、長年培ってきたコンパイラ技術をOSSであるLLVMへ取り込む活動を進めており、今まで富士通コンパイラに触れたことがなかった方々にも富士通の技術を届けられるようになると考えています。 展示を見に来てくださった方から富士通コンパイラがOSS に移行することに期待を寄せているとコメントくださることもありました。

展示資料では具体的な取り組みの内容として品質強化と性能強化の観点で事例を一つずつ取り上げました。 品質強化の面では、富士通はFortran言語のフロントエンドの実装であるFlangに注目して品質強化に取り組んでいます。 Flangは、品質が不十分で、新しいコンパイラ規格への追随が遅れているため、利用できるレベルに引き上げる必要があると考えているためです。 展示を見に来られた方の中にはコンパイラ開発に取り組んでいる方もおり、Flangの品質向上への貢献を評価していただくこともありました。 また、性能強化の面では富士通の活動の一例としてソフトウェアパイプライニングをAArch64向けに対応・強化している話を展示説明で取り上げました。 ソフトウェアパイプライニング自体について質問をいただくこともありましたが、ハードウェアの性能を最大限引き出すための最適化に取り組んでいることを評価していただけたと思います。

今回の展示説明の中で、富士通の取り組みについて好意的なコメントや期待の声を多く聴くことが出来ました。 今後はより積極的にコミュニティと関わっていくことを考えており、LLVMに対する取り組みをさらに加速させていくことで、ユーザや開発者の期待に応えていきたいと思いました。

Confidential Computing技術の促進と活用に向けて

FUJITSU-MONAKAが持つ特徴的な機能の1つであるセキュリティ機能(Arm CCA:Arm Confidential Compute Architecture)について、富士通の取り組みと今後のビジョンを紹介しました。 セキュリティ意識は世の中では高くなってきていますが、Confidential Computingのようなハードウェアでセキュリティを高めるような技術が必要であると考えるほどの課題意識を持ったユーザは多くありません。 そのため、展示を見に来てくださった方の多くは、Arm CCAとはどういうものなのか?これは、Arm標準の機能なのか?という基本的な質問を多くしてくださいました。 そのような質問への回答として、クラウド運用やAI/ML利用などで多くのユーザが利用している技術はセキュリティ的に課題があること、Arm CCAはそれを解決できる手段の1つであることを伝え、本技術の重要性や富士通の取り組みを理解し、評価してくださいました。 また、創薬などのシミュレーションをする既存のHPCユーザも興味を持って下さり、本技術は幅広いユーザが関心を持つ重要な技術であることを再確認できました。

このようなやり取りができたこともあり、Confidential Computing自体をもっと広く知ってもらうためには、よりアピールしていく必要があると思いました。 また、この技術は今後とても重要になってくるはずであり、先端技術開発本部の取り組みによりConfidential Computingコミュニティの成長に貢献していきたいと強く思いました。

UXL Foundationでの世界初の取り組みとAIライブラリの性能強化

AIライブラリのマルチプラットフォーム対応と性能向上への取り組みを紹介しました。富士通はUnified Acceleration (UXL) Foundationという団体の設立メンバーであり、ステアリングコミッティの中心メンバーとして積極的に活動しています。 すでに、その活動として、Intelプロセッサでしか動作しなかったoneDALという計算ライブラリを富士通が世界で初めてArmプロセッサ上で動作させたほか、scikit-learnの中で使われている関数を富士通が最適化した関数に置き換えることにより40倍もの速度向上を実現させています。

近年のAIへの注目度の高まりもあって、特にこのスライドに関心を持っていただいた方が多かったように思います。 各ベンダが提供するライブラリ・ツールがそのプラットフォーム上でしか動作しないという状況を、富士通だけでなく多くの方が課題として認識しているということを感じました。

実際、これはFUJITSU-MONAKA向けに限った話なのかという質問を頂くことが多かったのですが、我々の取り組みはFUJITSU-MONAKA向けに閉じたものではなく、このような取り組みを通じて、ユーザに多様なプラットフォームの選択肢を提供することを目指しています。 将来的にはCPUだけでなくGPUを含めた幅広いアクセラレータについてもこの取り組みを広げていくことを考えています。今回の展示説明を通して、こうした取り組みの意義を改めて確認することができました。

お客様とのユースケース創出に向けて

本スライドではFUJITSU-MONAKAに向けたユースケース創出に関する富士通の取り組みを紹介しました。現在、先端技術開発本部では将来的にFUJITSU-MONAKAが最大限活用されることを目的に、お客様とArm CPUを活用したユースケース創出に向けた複数のPoC(Proof of Concept)を実施しています。特にAIに焦点を当てたユースケース創出について説明したのですが、展示を見に来てくださった方の多くからCPUでAIを実行するのか?という尤もな質問をよく聞かれました。

先端技術開発本部では、もちろんCPUを活用したAIユースケース創出も視野に入れて活動していますが、CPUとGPUを組み合わせたワークロードのトータル性能を効率化する方向のユースケース創出も視野に入れて活動しています。これは、GPUはあくまでアクセラレータであるため、CPUとの組み合わせを考えることが必要不可欠だからです。そのような話を質問した方たちに伝えたところ、ユースケース創出活動に納得してくださいましたが、やっぱりAIはGPUが強いよねというコメントが多かったです。一方で、Arm CPUユーザからするとArm CPU+GPUのユースケースや、それに伴ってArmのアクセラレータ向けソフトスタックが拡充されていくのは嬉しいという声もありました。これらの会話を通して、CPUとアクセラレータにはどちらもユースケースに沿った適切な活用の仕方があるはずなので、両方の良いところを活かしきる道を模索していきたいと思いました。

ソフト最新動向

最後に、展示時間中に展示員が交代で聴講したセッションのうち印象に残ったものを紹介します。 今回、私たち展示員はExhibition Passで参加したため論文発表などの一部セッションを見ることができませんでしたが、BoF(Birds of a Feather)セッションにも面白いものが多く、大変勉強になりました。

Welcome to C++ 23, the “pandemic” edition and C++ NEXT in 2026

C++の標準規格に関するBoFに参加してきました。このBoFではC++2c に向けた提案や議論が行われました。 トピックとしてはSIMD、線形代数ライブラリ、多次元iterator(Space)、Parallel STLなどがありました。 特にParallel STLについては、他のアクセラレータ向けプログラミングモデルとの違いやParallel STLの在り方に関して活発な議論が行われていました。 また、線形代数ライブラリはAIでの利用場面を想定して検討を始めているということが語られていました。 AIの広がりによって様々なライブラリやフレームワークが生まれてきましたが、その波がプログラミング言語自体にも広がってきているというところに少し驚きましたし、既存の線形代数ライブラリとして著名なBLASを置き換えることを目指すと聞いてさらに驚きました。

全体的な印象としては、「我々は”言語標準”を決めているのであって、個別具体的な話には深入りしない」というスタンスで意見が述べられていたように思います。 ベンダごとに用意されていたSIMD用関数を言語標準機能に持たせることや、線形代数ライブラリにベンダ拡張の余地を残すようにするといった部分でそれが感じられました。 特に印象的な議論として、「各ベンダが協調して統一したAPIを作るべきではないか」というものがありました。 ハードウェアが異なればそれに対するコーディングも変わってくる可能性があるため、それらを全てexpected behaviorとして規格上定義するのは現実的ではないという意見が出た一方で、そうした部分を言語標準が担うべきとも思うといった意見も出ていました。 言語標準がどうあるべきかという考え方を象徴している議論のように思います。

私自身は言語標準の議論に参加する機会がこれまでなかったため、どのような方針の元でどのような機能を入れていこうとしているのかという考えに触れられたのは有意義でした。 また、ユーザがハードウェアなど環境の違いを気にすることなくコーディングが出来るようにしていく方向性は、やはり世の中の大きなトレンドであるということを改めて感じました。 C++をベースとしたアクセラレータ向けプログラミングモデルがいくつかありますが、C++自身がどのように変化していくかも含めて注視していく必要がありそうです。

Disaggregated Heterogeneous Architectures

本BoFは分散型異種アーキテクチャに関する最新の研究トピックを数名の登壇者が紹介して議論するというものでした。 現在のHPCシステムは様々なプロセッサ(例えば、CPUやGPUなど)やネットワーク機器、ストレージ、メモリなどから構成されています。 これらに加えて新たなアクセラレータや量子コンピュータなど、HPCシステムの構成要素がどんどん増えてきている一方で、これらの複雑なアーキテクチャを適切なワークロードで効率的に利用することが大きな課題となっています。

いくつかのトピックや議論がありましたが、その中で私が考えていた分散異種アーキテクチャの方向性と近いものとして、CPUノードやGPUノード、ストレージノードなどの塊を1つのモジュールとして用意し、それらのモジュール間をインターコネクトで接続して分散異種アーキテクチャを実現するというものがありました。 これはCXL(Compute Express Link)の考え方をシステムレベルまで拡張したものだと理解しました。 これが実現すれば、ユーザは必要なモジュールを必要な分だけ利用することで効率的にシステムを利用できること、既存のシステムにモジュールを追加すれば新しいアーキテクチャをすぐ利用可能となることなどのメリットがあります。 加えて、それらの分散異種アーキテクチャを利用するにはMPI(Message Passing Interface)を拡張し、どのモジュールでアプリケーションを起動するか選べばよいという部分については強く共感しました。

本セッションはBoFであり、課題に対する結論を出す場ではないので決まった答えはないのですが、私が思い描いたようなことが世界的にもっと拡張されて検討されており、新しい気付きも得られた良いセッションでした。 また、自分とは異なるアプローチで分散異種アーキテクチャの課題を解決しようとしている意見もあり、大変参考になりました。

おわりに

展示説明は国内外通して初めてだったためとても良い経験になりました。 特に実際に現地で世界中の技術者たちと展示内容について議論できたことで気づきもあり、とても良い刺激になりました。 展示ではハードウェアに注目して質問される方も多かったので、ソフトウェアで目玉になるような成果を出し、今後も我々の取り組みをアピールしていきたいと思います。

謝辞

この成果は、NEDO (国立研究開発法人新エネルギー・産業技術総合開発機構) の助成事業の結果得られたものです。