HPC Code GPU Acceleration Assessment

HPCコードのGPU高速化可能性を、提供可能な範囲から無料診断

公開論文、公開リポジトリ、ビルドログ、実行ログ、プロファイル結果、代表的な関数、最小再現コードなどをもとに、GPU化・高速化に向いた処理を調査します。必要な資料が揃う場合は、A100×4実機GPUサーバーでビルド・実行を確認し、通常5営業日で一次診断レポートをお送りします。

未公開コード全体の提供は、初回相談では必須ではありません

まずは公開情報・ログ・代表部分だけでも相談可能です。公開論文、公開リポジトリ、ビルドログ、実行ログ、プロファイル結果、代表的な関数、最小再現コードなど、提供可能な範囲から診断可否を確認できます。

未公開コードや研究データを扱う場合は、NDA締結や提供範囲の合意後に確認します。お預かりした情報は、診断可否確認、一次診断、PoC方針整理、見積・相談対応の目的で利用します。

公開研究情報を見たご案内について

AI-assisted code review

AIがHPCコード全体を俯瞰し、高速化候補を探します

大規模なHPCアプリケーションでは、どこを直せば速くなるのかを人間が短時間で見つけるのは容易ではありません。関数、ループ、データ構造、ビルド設定、MPI/OpenMPの使い方、GPU化の有無、I/Oや通信のボトルネックなど、多くの要素が関係します。

ServerGearの無料診断では、提供可能な範囲のソースコード、公開リポジトリ、ビルド手順、実行ログ、プロファイル結果をAI支援も使いながら横断的に解析し、人間だけでは見落としやすい高速化候補やGPU化に向いた処理を調査します。そのうえで、A100×4実機GPUサーバー上でのビルド・実行確認と組み合わせて、次に試すべきPoC方針を整理します。

Before buying GPU servers

GPUサーバーを買う前に、自分の計算が本当に速くなるか確認しませんか?

GPUサーバーのスペック表だけでは、お客様のHPCアプリがどれくらい速くなるかは分かりません。さらに、大規模なHPCコードでは、ボトルネックが単純な1か所にあるとは限りません。ソースコード全体、ビルド設定、実行条件、MPI/OpenMPの使い方、プロファイル結果を横断的に見る必要があります。そこでServerGearでは、AIによるコード・ログ解析とA100×4実機検証を組み合わせ、お客様のHPCコードがGPUで高速化できる可能性を一次診断します。

Free assessment

無料診断で確認すること

Diagnostic case

診断事例:確率的な軌道シミュレーションコードをGPUで約136倍高速化したPoC

国内研究機関の研究者様からご相談いただいた、Fortranで実装された多数イベントを扱う確率的な軌道シミュレーションコードについて、A100 GPUサーバー上でGPU高速化無料診断を行いました。CPUでも実行できる一方、イベント数が増えると計算時間が大きく伸び、どこをGPU化すれば効果が出るかを見極めにくいことが課題でした。

1万イベントでのCPU/GPU比較

  • CPU 1 thread: 約392秒
  • CPU 16 threads: 約31.5秒
  • CPU 64 threads: 約17.4秒
  • A100 1GPU OpenACC版: 約8.90秒
  • CUDA検証版: 約2.87秒

この検証条件での改善幅

  • CUDA検証版はCPU 1 thread比で約136倍高速
  • CPU 16 threads比で約11倍高速
  • CPU 64 threads比でも約6倍高速
  • OpenACC版からCUDA検証版へ、GPU内でも約3倍改善

AIを使って見つけたこと

AIを使ってソースコード、実行ログ、プロファイル結果、出力差分を読み解き、GPU計算部だけでなくCPU側の後処理や集計処理にもボトルネックがあることを仮説化しました。大規模イベントでは、メモリ配置、分割実行、集計方法まで含めて見る必要がありました。

高速化方針は、既存CPU版・OpenACC版・CUDA検証版を比較し、出力整合性を確認しながらGPU計算部とCPU側後処理の両方を見直すことでした。さらに、すべてのイベントを一度にGPUメモリへ載せるのではなく、一定サイズに分けて順番に処理し、最後に集計する方式を検証しました。

難しかった点

  • 単にCUDAを書くことではなく、出力の整合性を保ちながら高速化すること
  • イベントID、乱数系列、分布生成に関わる集計の扱いを壊さないこと
  • GPU計算だけ速くしても、CPU側の後処理が残ると全体は速くならないこと

大規模イベントでのPoC結果

  • 1GPUで100万イベント規模の分割実行を行い、約3.62分で完了
  • 2GPU分割検証では、10万イベントを約10.68秒で完了
  • 2GPU分割検証では、12万イベントを約11.88秒で完了

5営業日程度でPoCを整理できた理由

通常であれば、ソース理解、ビルド環境整備、比較実行、プロファイル、ボトルネック仮説、修正、再検証を順番に進めるため、数週間から数ヶ月かかることもあります。本事例では、AIを使ってログ・ソース・出力差分を並行して読み解き、仮説化と検証を短いサイクルで回すことで、5営業日程度でPoC結果として整理しました。

公開範囲と注意

本内容は、この検証環境・条件下でのGPU高速化無料診断のPoC結果です。同じ実行時間を保証するものではなく、正式利用には追加検証が必要です。AIだけで高速化を完了したという意味ではなく、AIによる解析支援と人間の確認を組み合わせた検証です。

ソースコード、未公開研究内容、詳細ログ、詳細な出力データは公開しません。本番出力相当の確認および分布生成の本番相当確認は、今後の検証項目です。

Target applications

対象となるHPCコード・アプリケーション

以下のような研究・技術計算コードを対象にします。

  • Fortran / C / C++ で書かれたHPCコード
  • MPI / OpenMP を使った並列プログラム
  • CPUでは時間がかかるシミュレーションコード
  • GPU化できるか分からない自作研究コード
  • LAMMPS / GROMACS / CP2K / Quantum ESPRESSO / OpenFOAM などのHPCアプリケーション
  • 既存OSSアプリに独自改造を加えたコード

Timeline

通常5営業日で一次診断

必要な資料・ビルド手順・小規模テストデータをご提供いただいた後、通常5営業日以内に一次診断レポートをお送りします。コード規模、依存ライブラリ、ビルド環境、入力データの内容によっては、詳細検証に追加日数がかかる場合があります。

Scope

無料診断の範囲

無料診断では、GPU化・高速化の可能性を判断するための一次調査を行います。

無料範囲

  • 初回内容確認
  • ソース構成・ビルド手順の確認
  • 小規模入力でのビルド・実行確認
  • ログ・エラー・ボトルネック候補の確認
  • AIによるコード・ログ解析
  • 一次診断レポート作成

無料範囲外

  • 大規模なコード書き換え
  • 本格的なCUDA移植
  • 長期間の性能チューニング
  • 本番環境への導入作業
  • 論文レベルのアルゴリズム改良
  • 大規模データでの長時間ベンチマーク

Important note

すべてのコードがGPUで高速化できるとは限りません

GPU化によって常に高速化できるとは限りません。本診断では、A100×4実機環境とAI解析を用いて、GPU化に向いている処理、想定されるボトルネック、必要な移植作業、推奨GPU構成を整理します。AIによる解析結果は、実機でのビルド・実行確認、ログ確認、必要に応じた人間のレビューと組み合わせて判断します。診断結果によっては、GPU化よりもCPU並列化、ライブラリ変更、ビルド設定、実行条件の見直しの方が有効と判断する場合もあります。

What to share

お申し込み時に分かる範囲で教えていただきたいこと

最初から未公開コード全体を提出する必要はありません

一次診断の前段階では、公開論文、公開リポジトリ、ビルドログ、実行ログ、プロファイル結果、代表的な関数、最小再現コードなど、提供可能な範囲で診断可否を確認できます。未公開コードや研究データの確認が必要な場合は、NDA締結や提供範囲の合意後に進めます。

一次診断を開始するには、対象ソースコードまたは代表部分、ビルド手順、小規模テストデータ、実行コマンド、現在の実行時間やログのご提供が必要です。これらが揃っている場合、通常5営業日以内に一次診断レポートをお送りします。資料が不足している場合は、まず診断可否の確認から行います。

Free assessment request

あなたのHPCコードがGPUで速くなるか、まずは無料で診断します

無料診断は対応件数に上限があります。対象コード・実行条件を確認のうえ、診断可能な案件から順に対応します。

未公開コード全体の提供は初回相談では必須ではありません。まずは公開情報・ログ・代表部分だけでもご相談ください。