ナマスカラ! 私たちはFUJITSU Research of India Pvt Ltd (FRIPL)のFUJITSU-MONAKAソフトウェアR&Dチームのソフトウェアエンジニアです。 私たちの目標は、Arm CPU向けのHPC-AIソフトウェアエコシステムの拡張と最適化であり、特に日本の富士通研究所と共にFUJITSU-MONAKAのパフォーマンスを最大化することに重点を置いています。 私たちの仕事は、データベース、機械学習フレームワーク、深層学習と生成AIフレームワーク、コンフィデンシャルコンピューティングなど、さまざまなソフトウェア分野にわたっています。 最近、私たち3人は、ドイツで開催されたISC25カンファレンスで私たちの仕事の一部を発表する機会を得ました。 この記事では、このイベントの経験とそこから学んだことを共有したいと思います。
Authors: Nishant Prabhu, Shreyas K Shankar, Divya Kotadiya
1 はじめに
International Supercomputing Conference (ISC) High Performance 2025が2025年6月10日から13日にかけてドイツのハンブルクで開催されました。このイベントは、ハードウェア設計、冷却技術、アルゴリズムの進歩、人工知能、量子コンピューティングなど、ハイパフォーマンスコンピューティングパラダイムの交差点に焦点を当てており、3500人以上の業界関係者、学術関係者、ジャーナリストが参加しました。FRIPL (インド富士通研究所) のFUJITSU-MONAKAチームからも3名が出張し、プロジェクトポスター展示イベントに採用された3つのポスターを発表しました。私たちのポスターでは、HPC-AIソフトウェアエコシステムを拡大し、Arm CPU、特に次期2nm ArmベースのFUJITSU-MONAKAプロセッサのパフォーマンスギャップを埋めるための私たちのチームの取り組みを紹介しました。
2 ISC25への参加
ISC25は、主にブース展示、ポスター展示、論文発表、Birds of a Feather (BoF) セッション、講演で構成されていました。富士通を含む100以上の団体がブース展示を行い、来場者に製品や最新の開発状況をアピールしました。展示では、HPCエコシステムが直面するさまざまな課題に取り組んでいます。
- 高速データ保存・検索システム
- HPCクラスタのためのネットワークおよびインターコネクト技術
- 冷却およびラック・テクノロジーの革新
- ハードウェア使用率を最適化するアルゴリズムの進化
- ハードウェア設計の革新
さらに、以下のような様々なトピックについて、28件の研究論文と約30件のプロジェクトポスターが受理されました。
- システムアーキテクチャとハードウェアコンポーネント
- プログラミング環境とシステムソフトウェア
- アルゴリズム、方法および性能
- アプリケーションとユースケース
- 機械学習とAI
- 量子コンピューティング
このイベントには、HPCのさまざまなサブドメインの専門家や関心を持つ業界関係者、学生、学術関係者、ジャーナリストなどが参加しました。多くのスタートアップや自営業者も来場者や出展者として参加しました。
3 ポスター発表
Armベースのプロセッサの計算能力や電力効率の進歩にもかかわらず、そのソフトウェアエコシステムは最近になってようやく成熟し始めたばかりです。FRIPLのFUJITSU-MONAKAチームは、Arm CPU用のHPC-AIソフトウェアエコシステムのイネーブルメントと最適化に関して、いくつかの重要な開発を行ってきました。その中には、コンピューティングライブラリ (oneDAL, oneDNN, OpenBLAS)、スレッドバックエンド (OpenMP, oneTBB)、機械学習フレームワーク (scikit-learn, XGBoost)、深層学習・生成AIフレームワーク (PyTorch, TensorFlow, OpenVINO, ONNX, llama.cpp) などがあります。FRIPLのFUJITSU-MONAKAチームの代表団は、プロジェクトポスター展示イベントで3つのポスターを発表し、私たちの最近の開発のいくつかをより詳細に紹介しました。
3.1 リソースに制約のあるサーバでスケーラブルなLLM推論を行うためのvLLMイネーブルメント
[ポスターへのリンク]
ポスター概要
サーバー上でLLMとGenAIモデルを提供するには、大量の非同期リクエストに対して計算リソースとメモリリソースを効率的に処理する必要があります。vLLMは、ソフトウェアレベルで同じことを実現するために2つの手法を導入しました。まず、継続的なバッチ処理 (continuous batching) は、個々の要求の平均レイテンシを最小化するためのバッチ管理手法です。受信要求の動的な管理 (完了した要求をバッチから削除して他の要求をバッチに入れる) により常時最大バッチ数での動作を実現します。次に、ページアテンション (paged attention) は、OSが行っているメモリページングをミラー化することによって、KVキャッシュのメモリ割り当てにおけるメモリの断片化を最小限に抑えます。オリジナルのvLLMではこれら技術の組み合わせによりGPUのスループットが4~5倍向上すると主張しています。残念ながら、vLLMはもともとx86 CPUとNVIDIA GPUでのみ動作するように設計されていました。このポスター発表ではPyTorchとOpenVINOの組み合わせでArm CPUのvLLMを有効にして最適化する作業を紹介しました。PyTorchで約1.5倍、OpenVINOで約51倍のスループット向上を実現しています。
フィードバック
私たちの発表を聞いてくれた方は、vLLMや私たちの仕事全般について知りたいと思っている業界の専門家を別にすると、主にAI技術に取り組んでいる学生や研究者でした。この作業に対する最も一般的な反応は、vLLMほど重要なフレームワークがArmエコシステムで利用できない状態だったという事実に対する驚きでした。参加者は、Armと他のCPUアーキテクチャ(x86など)のパフォーマンス比較、PyTorchとOpenVINOバックエンドを選択した理由、このプロジェクトの将来など、より技術的な詳細にも興味を持っていました。全体として、この作業に対するフィードバックは非常に肯定的でした。
3.2 行列計算の最適化 : ARM HPCシステム上で深層学習を高速化するバッチ低減GEMM (BRGEMM)
[ポスターへのリンク]
ポスター概要
このポスターでは、ArmのScalable Vector Extension (SVE) を使用した高性能BRGEMMカーネルの開発に関する私たちの取り組みを紹介しました。BRGEMMは、Transformerや大規模言語モデル (LLM) などのモデルの中核となる演算である行列積を高速化するための重要なアルゴリズムです。このカーネルは、PyTorchやTensorFlowなどの一般的なフレームワークで使用されるOSSライブラリであるoneDNNに実装しました。最適化されたカーネルは、カーネルレベルで1.2倍–1.4倍の高速化を実現し、Armベースのプラットフォーム上でResNet50, Whisper, T5, LLaMAなどのモデルの推論において最大3倍の高速化を実現しています。
質問
このポスターセッションでは、参加者から思慮深い技術的な質問がいくつか上がりました。よくある質問は、なぜGPUではなくCPUの深層学習に焦点を当てたのかということでした。この質問に対しては、可用性、電力効率、または配備の容易さなどCPUの優位性について説明しました。もう1つの重要な質問は、行列をバッチでまとめて処理する理由についてでした。この質問には、BRGEMMがどのようにしてオーバーヘッドを削減し、メモリの局所性を改善しているかについて説明しました。参加者は、カーネルがコンパイラのArm組込命令を使用しているかどうか (はい、SVEを直接利用している)、あるいは性能比較対象がどのライブラリなのかにも興味を持っていました (デフォルトのoneDNN実装と比較)。
出席者
このポスターは学界と産業界の両方から注目を集めました。特にアラン・チューリング 研究所の研究者や教授が、異種ハードウェア上のスケーラブルなAIに対するこの研究の意味に関心を示していました。ArmやIBMなどの主要企業の専門家も詳細な議論に参加し、洞察を共有し、ハードウェアとソフトウェアのレイヤー間でパフォーマンスをさらに向上させるためのコラボレーションの可能性に関心を示しました。
フィードバック
いただいたフィードバックは勇気づけられるものであり、建設的なものでした。重要なソフトウェアレベルの最適化を評価がある一方で、BRGEMMをサポートするためのハードウェアの追加のような、将来の実装での機能強化の検討を提案する人もいました。ポスターは実用的なインパクトで好評を博し、何人かの参加者は、Arm HPCシステムで深層学習ワークロードを実行する上で、このような最適化の重要性を認識していました。
3.3 データサイエンス高速化のためのXGBoostのSVE拡張
[ポスターへのリンク]
ポスター概要
このポスターではXGBoostという、構造化データのスケーラビリティとパフォーマンスで知られまた広く使用されている勾配ブースティングライブラリの高速化について説明しました。ここでは、高性能・高エネルギー効率を追求して設計されたSIMDであるARM Scalable Vector Extension (SVE) を活用することにより、ARM CPU上でXGBoostを高速化しました。SVEの特徴である、ベクトル長に依存しない命令列プログラミング、プリディケートを活用したマスクされたメモリ操作などの主要なSVE機能を統合することによって、最も計算量の多いコンポーネントの1つであるヒストグラム構築カーネルの最適化に重点を置いています。SVEで最適化された実装は、Graviton 3CPUで最大2倍の高速化を達成しました。これは、ARMプラットフォーム上でXGBoostの性能を大幅に向上させるSVEの可能性を強調するものであり、HPCやエッジ環境における効率的なML学習への道を開くものです。
学術および業界の会話のハイライト
このポスターは、学会と産業界の両方の出席者から大きな関心を集めました。アラン・チューリング研究所やケンブリッジ大学などの研究者や教授がこの研究に取り組み、特に科学コンピューティングへの幅広い影響に興味をそそられていたようです。Arm社のエンジニアを含む業界のプロフェッショナルとは、実装の詳細に関する詳細な議論を行いました。その内容は、SVE組込命令の性質と機能、小規模なデータセットでのパフォーマンス動作、実世界シナリオでのXGBoostの実用的なアプリケーションなど、好奇心をそそられる主要な領域が含まれていました。私がもらったフィードバックは、この最適化の取り組みの技術的な妥当性と幅広い適用性の両方を強調するものでした。
4 その他の関連性のある興味深いポスター
イベント期間中、他にも多くの研究やプロジェクトのポスターが展示されており、興味深い進展について議論されていました。私たちの業務に関連すると思われるものをいくつか紹介します。
4.1 DisCostiC : ハードウェアとソフトウェアの相互作用を解き明かすデジタルツイン性能シミュレーション (研究ポスター賞受賞)
このポスターは、並列アプリケーションの実行時間は Roofline, ECM, Hockney, LogGP などの分析モデルを使用して計算時間と通信時間を単純に合計することで正確に予測できるという、一般的な仮説に異議を唱えています。実際には、ハードウェアとソフトウェアの複雑な相互作用、システムノイズ、リソース使用量の重複など、従来のモデルでは把握できないため、実際のランタイムは予測と異なることがよくあります。既存の手法はトレースベースの分析または実システムの実行に依存していますが、どちらも曖昧さやノイズをもたらし、性能変動の真の原因を不明瞭にしています。
これに対処するために、このポスターではDisCostiCを提案している。これは第一原理分析モデルに基づいて構築された本格的なシミュレータで、CPUコアやccNUMA領域からネットワーククラスタまで、すべてのシステム階層を対象にしています。トレースベースのアプローチとは異なり、DisCostiCはDSELベースのアプリケーションスケルトンを使用してプロセス間の依存関係をモデル化し、実際のハードウェア上で実行することなく、並列プログラムの動作を正確にシミュレーションできます。DisCostiCは、性能予測、システム設計の調査、ボトルネックの特定などの機能を、高い精度と効率で提供します。これにより、スケーラブルな研究のための強力なツールとして、開発者が複雑な多層HPCシステム全体にわたるアプリケーションの動作を理解し、最適化するのに役立ちます。
4.2 Intel GPU用GPU対応MPI集約ライブラリの設計と実装
このポスターでは、ヘテロジニアス・コンピューティングの重要な側面であるCPUとGPU間の通信を最適化するために設計された、高度なメッセージパッシングインターフェイス (MPI) が紹介されています。これは、デバイス間でのデータの効率的な転送を処理するデータ移動と、異なるプロセスまたはデバイスからの値を結合する集約操作の2つの主要な操作に焦点を当てています。どちらの操作も、遅延を最小限に抑え、スループットを最大化するように慎重に最適化されています。これらの改善は、特にGPUで高速化された大規模なHPCワークロードにおいて、結果で示された性能向上を達成する上で重要な役割を果たします。
4.3 pyGinkgo:Python用疎線形代数演算子フレームワーク
このポスターは、Ginkgoライブラリの一部として開発された疎行列乗算カーネルを紹介している。このカーネルはCPUとGPU両方のアーキテクチャをサポートするC++で記述されており、多くの科学・工学アプリケーションにおいて重要な演算である、効率的な疎行列ベクトル乗算 (SpMV) に焦点を当てています。チームはCuPyやSciPyなどの有名なライブラリに対してカーネルのベンチマークを行い、ハードウェアプラットフォーム全体で優れたパフォーマンスとスケーラビリティを実証しました。特にIntel Xeon Platinum 8368 CPUとNVIDIA A100 GPUで大幅な改善が見られ、異種システム間でのカーネルの移植性と最適化が強調されています。
4.4 EUPILOT : 独立したローカルおよびオープンな技術を使ったパイロット
このポスターでは、Armベースのアーキテクチャによる持続可能なHPCエコシステムの構築に向けた取り組みが紹介されています。oneDNNに統合されたBRGEMMカーネルなどのソフトウェア最適化が、エネルギー効率の高いAIコンピューティングという広範な目標とどのように合致するかを示しています。興味深いことに、彼らがサポートしようとしているソフトウェアスタックは、私たちのものと非常によく似ており、エコシステムの方向性が似通っていることを示しています。12nmテクノロジーの採用は、性能と電力効率のバランスに重点を置いていることを強調し、ハードウェアとソフトウェアの両方のレイヤーで持続可能性を追求するという目標をより際立たせています。
4.5 OEHIの取り組み - 計算持続性のためのRISC Matrix Extensionsを装備 (ARM) する
このポスターは主に、SME (Scalable Matrix Extension) サポートによってHPCエコシステムを強化するための3つの主要な目標に焦点を当てています。まず、SMEの機能を使用して開発とテストを容易にするソフトウェアツールと環境の可用性を拡大することを目的としています。第二に、実際のアプリケーションにおけるSMEの性能と効率性のメリットを教育し、紹介するためのグローバルな知識ベースの構築を目指しています。最後に、研究者、開発者、業界パートナーが一体となってイノベーションと導入を促進する、活発で協力的なHPC-SMEコミュニティを構築することの重要性を強調しています。
5 おわりに
今回の参加は、ソフトウェアだけでなく、ハードウェア開発にも関連するHPCの進歩について、私たちの視野を広げてくれました。また、富士通としては、ベンチマークの上位に数年入り続ける製品を生み出してきたハードウェアの技術革新だけでなく、最先端のソフトウェアの技術革新をHPCコミュニティに紹介する機会にもなりました。今回の参加で、ISCへの参加が、HPC-AIをより高性能で、持続可能で、利用しやすいものにするために協力し合える、より大きなHPCコミュニティと共に学びまた結束を強めるための優れたプラットフォームであるということがよくわかりました。今後もより大きなレベルでISCに参加し続けたいと考えています。
謝辞
この成果は、NEDO (国立研究開発法人新エネルギー・産業技術総合開発機構)の助成事業の結果得られたものです。