日本語 English 中文
世界中のHPC専門最先端技術製品の販売・サポート
Linaro Forge

Linaro Forge (クラスターシステム向けのデバッガー/性能開発ツール)

Linaro Forgeは、プログラム開発者用のツールです。最新のコンパイラやC++規格からIntel、64ビットArm、AMD、OpenPOWER プロセッサーと、Nvidia GPU に対応し、複数のサーバーや様々な HPC アーキテクチャ上で正しい結果を得るために信頼性が高く最適化されたコードを構築します。Linaro Forgeは、高性能アプリケーションのデバッグ時間を短縮する主要なデバッガーであるLinaro DDTと、C/C++/Fortran ネイティブおよび Python HPCコード全体で貴重な最適化アドバイスを提供する信頼のパフォーマンスプロファイラーであるLinaro MAP、高度なレポート機能を持つLinaro Performance Reportsの3つのツールで構成されています。

Arm Forge (旧 Allinea Forge) は 2023 年 3月に Linaro Forge に変わりました

Linaro Forge は Arm Forge から変わることなく、インテルや AMD、64bit Arm、OpenPOWER プロセッサーと Nvidia GPU に対応したハイパフォーマンスコンピューティング向けの性能解析ツール (Linaro MAP) とデバッガー (Linaro DDT) を提供します。

Linaro Forge のためにソースコードの変更は必要ありません。GPU や Python にも対応した Linaro MAP は、パフォーマンス問題が生じているソースコード行と原因を特定することができます。また、新しい設計のデバッガーである Linaro DDT はグラフィカルなインターフェースでマルチプロセスやマルチスレッドの中にある発見しづらいバグも素早く自動的に特定することができます。Linaro Forge を使用することで演算処理を高速化し、要する時間や電力を最小化することができます。

Linaro と Arm Forge (Allinea Forge)

Linaro は英国にて 2010 年からArm 向けのオープンソースソフトウェア開発を推進してきた非営利組織です。Arm Forge (それ以前は Allinea Forge) のチームは 2023 年に前身の Arm から Linaro に移りました。Forge 製品は今後も同様のサービスと機能が Linaro から提供されます。

利用方法

Linaro Forge をインストールしたシステムに SSH などで接続し、コマンドラインまたはWidows などにインストールした Linaro Forge Remote Client から解析およびデバッグを実行することができます。性能解析の場合、結果はファイルとして生成され、後からも Linaro Forge Remote Client などで確認することができます。

※一部の機能は Linaro Forge、Linaro Forge Ultimate のみで提供されます。

ツール構成

Linaro Forge は Linaro MAP と Linaro DDT、Linaro Performance Reports を含むツールスイートです。スイート製品の Linaro Forge の他に、単体製品の Linaro MAP または Linaro DDT のみを購入することができます。また、追加機能を有する Linaro Forge Ultimate が提供されます。

Linaro Forge Ultimate

Linaro Forge のすべての機能に加え、CPU ハードウェア カウンターや、GPU 向けの性能解析とデバッグについてのすべての機能、Custom metrics API を使用することができます。Linaro Performance Reports を含みます。

Linaro Forgeのツール構成

ライセンス

クラスターシステム向けのライセンスとシングルノード向けのライセンスがあります。クラスター向けのライセンスは解析プロセス数と GPU 数によるライセンス制です。

Linaro Forge の機能一覧

Linaro MAP(性能解析ツール)

Linaro MAP はクラスターシステム向けの性能解析ツールとして、MPI やマルチスレッド環境に対して様々な機能を提供します。これらの機能を使用することでソースコード行レベルで性能問題を確認することができます。

ソースコードと連結した問題表示

並列化の方法に問題がある場合、通信時間や通信データ量などはわかりやすい形でグラフに現れます。Linaro MAP ではソースコードと合わせて情報を確認することで問題を容易に把握できるようになります。

I/O プロファイリング

ノード数が増えると I/O パフォーマンスに問題があると影響が大きくなります。多くの場合、原因が I/O にあるかアプリケーションにあるかハードウェアにあるのかを切り分けるのは難しく、間違った原因に時間を要してしまうことがあります。Arm MAP は、ファイル I/O 帯域幅がどこで使用されているかを正確に示し、過負荷の共有ファイルシステム、貧弱な読み取り/書き込みパターン、さらにはシステムの構成ミスの問題を診断するのに役立ちます。

OpenMP、MPI プロファイリング

マルチスレッド コードからパフォーマンスを取得することは困難な場合がありますが、Linaro MAP を使用すると、スレッド同期がサイクルを消費している場所と、スレッドが時間を費やしている場所を簡単に確認できます。
また、各 MPI プロセスからパフォーマンス データを収集し、情報をマージして、パフォーマンス問題が生じているソース行を表示させることができます。

GPUプロファイリング

Linaro MAP は CUDA 環境において GPU と CPU を一緒にプロファイリングすることができます。CPU が GPU の完了を待機している個所を特定したり、グローバルメモリアクセスの遅延や、GPU 使用率、GPU 時間や、 GPU 温度を表示せせることができます。

メモリープロファイリング

全ノードのメモリ使用量をノード毎、スレッド毎にソース行とともに表示させることができます。メモリ アクセスに費やされた時間を確認することで不適切なメモリーアクセスパターンとキャッシュの使用を簡単に見つけることができます。

メモリープロフエネルギープロファイリングァイリング

インテル CPU および Nvidia GPU に対して電力測定機能を提供します。電力最適化は、同処理において消費電力の削減の可能性を有します。

Linaro DDT(デバッガーツール)

Linaro DDT はクラスターシステム向けの、様々な新しい設計の機能が実装されたデバッガーです。Linaro DDT はバグの自動検出だけではなく、各プロセス各スレッドごとに対話型デバッグを行いながら、変数の増加をグラフ化したり、配列を立体描写させたり、メモリ使用量のグラフ化させたりすることで全プロセスでの動作を容易に把握することができるようになります。

(1) Menu Bar
(2) Process Controls
(3) Process Groups
(4) Find File or Function
(5) Project Files
(6) Source Code(7) Variables and Stack of Current Process/Thread
(8) Parallel Stack, IO and Breakpoints
(9) Evaluate Window
(10) Status Bar

プロセスグループの詳細ビューと概要ビュー

詳細ビューは対象のプロセスを明示的に表示し、番号をクリックすることでそのプロセスのデバッグを行うことができます。
プロセス数が多くなってしまっても操作しやすいように概要ビューが用意されています。概要ビューでは集約された情報が表示され、入力欄に対象のプロセス番号を入力することでデバッグを行うことができます。

変数とデータ

変数ウィンドウではさまざまな方法で変数を表示させることができます。通常のデバッガーのように各プロセス毎に値を修正することに加え、簡易的なグラフで変数値を確認することもできます。

多次元配列視覚化

各プロセスの配列データをプロセス×配列データ(1次元、2次元)として一度に表示させることができます。多次元配列の視覚化では画像のように奥行にプロセス、左右上下で配列を表示させることができ、データの概要を目視する以外にも、正常動作であるのかを変に突出した値の有無等で一目で確認することができます。

メモリデバッグ

Linaro DDT には、強力な並列メモリ デバッグ機能があります。この機能は、システム メモリ割り当てライブラリへの呼び出しをインターセプトし、メモリの使用状況を記録し、ヒープと境界のチェックを実行してライブラリの正しい使用状況を確認します。

メモリデバッグを有効にして Linaro DDT を使用することで解決できる一般的な問題
  • ブロックが割り当てられた場所に従ってメモリをグループ化および定量化する現在のメモリ使用量の表示を調べることで、メモリ リークによるメモリの枯渇を防ぐことができます。
  • 割り当てブロックの境界を超えたメモリへのアクセスによって発生する永続的でありながらランダムなクラッシュは、ガード ページ機能を使用して診断できます。
  • 同じメモリ ブロックの 2 回の割り当て解除、無効なポインターによる割り当て解除、およびその他の無効な割り当て解除 (割り当ての開始点にないポインターの割り当て解除など) によるクラッシュの問題を解決することができます。

メッセージ キューのデバッグ

メッセージ送受信の待ちが発生しているプロセスの関係をわかりやすく表示させることができます。送信と受信を分けて確認することができ、デッドロックを検出することもできます。

CUDA GPU デバッグ

NVIDIA CUDA デバイスを使用するアプリケーションを、GPU で実行されているコードの実際のデバッグと同時に、ホスト CPU コードのデバッグと同時にデバッグすることができます。以下の環境をサポートしています。

  • NVIDIA の CUDA コンパイラ
  • クレイ OpenACC
  • PGI OpenACC および PGI CUDA Fortran
  • IBM XL OpenMP オフロード

Linaro Performance Reports

Linaro Performance Reports はプログラムの実行中に自動的に解析を行い、解析結果から最適化すべき個所をレポートとして表示することができます。レポートでは並列化度や CPU 使用率、I/O など、問題の発生源をグラフィカルに確認することができ、一番最初に着手すべきポイントを発見することができます。

Linaro Forge パフォーマンスレポートを使用することで演算処理にかかる時間を短縮するとともに、修正に要する時間も短縮することができるようになります。

機能比較

機能Linaro ForgeLinaro Forge UltimateLinaro MAPLinaro DDT
クラスターシステム対応デバッガー✔︎✔︎✔︎
クラスターシステム対応性能解析ツール✔︎✔︎✔︎
メモリ、OpenMP、MPIデバッグ✔︎✔︎✔︎
CPU, MPI, I/Oプロファイリング✔︎✔︎✔︎
リモート解析機能✔︎✔︎✔︎✔︎
バージョン管理情報✔︎✔︎✔︎✔︎
HPC向けPythonプロファイリング✔︎✔︎✔︎
HPC向けPythonデバッグ✔︎✔︎✔︎
Caliper を用いてコード領域を指定した性能解析✔︎✔︎✔︎
CPU ハードウェア カウンター✔︎
GPU 性能解析の全機能追加購入可能✔︎追加購入可能
GPU デバッグの全機能追加購入可能✔︎追加購入可能
Custom metrics API✔︎
Linaro Performance Reports の付属
(パフォーマンスレポート生成ツール)
✔︎✔︎追加購入可能追加購入可能
アプリケーションの効率性についてのアドバイス✔︎✔︎✔︎

製品事例

  • 筑波大学 – 日本

ユースケース

Advanced Technology Center / BAE Systems

シミュレーションを遅らせる問題を分析することにより、Linaro Forge は、スーパーコンピューターおよびクラスター上のコンピューター支援エンジニアリングソフトウェアのスループットの向上に役立ちます。 並列および高性能コードに合わせて特別に調整されたこのツールは、ISV、オープンソース開発者、および社内のコードチームがソフトウェアのスループット、信頼性、およびスケーラビリティを向上させるのに役立ちます。詳しく見る>

armfprge casestudie

Weather and Climate / Met Office

Linaro Forge は、予測のペースと精度の向上に役立ちます。 Linaroは、今日の気象システムの規模に対応できる開発ツールを気象コミュニティに提供します。詳しく見る>

Life Sciences / Medical University of Graz

Linaro Forge は、ライフサイエンスの研究者と開発者がコードのパフォーマンスを加速し、バグとの闘いに費やす時間を短縮するのに役立ちますが、システム所有者はテクノロジーのスループットを向上させます。詳しく見る>

Government Research and National Labs / Argonne National Laboratory

最高のデバッガーを使用すると、科学者の時間をより創造的で生産的にすることができます。 Linaroデバッガーツールは、科学的なソフトウェアプロセスを変換し、科学者が工学、物理学、地球科学、化学、生物学にブレークスルーをもたらすことを可能にします。詳しく見る>

Linaro Forgeのお見積もり・お問い合わせ

お客様のご要望、システム構成などお気軽にご相談ください。*必須項目