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つのツールで構成されています。
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 は英国にて 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 MAP と Linaro DDT、Linaro Performance Reports を含むツールスイートです。スイート製品の Linaro Forge の他に、単体製品の Linaro MAP または Linaro DDT のみを購入することができます。また、追加機能を有する Linaro Forge Ultimate が提供されます。
Linaro Forge のすべての機能に加え、CPU ハードウェア カウンターや、GPU 向けの性能解析とデバッグについてのすべての機能、Custom metrics API を使用することができます。Linaro Performance Reports を含みます。
クラスターシステム向けのライセンスとシングルノード向けのライセンスがあります。クラスター向けのライセンスは解析プロセス数と GPU 数によるライセンス制です。
Linaro MAP はクラスターシステム向けの性能解析ツールとして、MPI やマルチスレッド環境に対して様々な機能を提供します。これらの機能を使用することでソースコード行レベルで性能問題を確認することができます。
並列化の方法に問題がある場合、通信時間や通信データ量などはわかりやすい形でグラフに現れます。Linaro MAP ではソースコードと合わせて情報を確認することで問題を容易に把握できるようになります。
ノード数が増えると I/O パフォーマンスに問題があると影響が大きくなります。多くの場合、原因が I/O にあるかアプリケーションにあるかハードウェアにあるのかを切り分けるのは難しく、間違った原因に時間を要してしまうことがあります。Arm MAP は、ファイル I/O 帯域幅がどこで使用されているかを正確に示し、過負荷の共有ファイルシステム、貧弱な読み取り/書き込みパターン、さらにはシステムの構成ミスの問題を診断するのに役立ちます。
マルチスレッド コードからパフォーマンスを取得することは困難な場合がありますが、Linaro MAP を使用すると、スレッド同期がサイクルを消費している場所と、スレッドが時間を費やしている場所を簡単に確認できます。
また、各 MPI プロセスからパフォーマンス データを収集し、情報をマージして、パフォーマンス問題が生じているソース行を表示させることができます。
Linaro MAP は CUDA 環境において GPU と CPU を一緒にプロファイリングすることができます。CPU が GPU の完了を待機している個所を特定したり、グローバルメモリアクセスの遅延や、GPU 使用率、GPU 時間や、 GPU 温度を表示せせることができます。
全ノードのメモリ使用量をノード毎、スレッド毎にソース行とともに表示させることができます。メモリ アクセスに費やされた時間を確認することで不適切なメモリーアクセスパターンとキャッシュの使用を簡単に見つけることができます。
インテル CPU および Nvidia GPU に対して電力測定機能を提供します。電力最適化は、同処理において消費電力の削減の可能性を有します。
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 には、強力な並列メモリ デバッグ機能があります。この機能は、システム メモリ割り当てライブラリへの呼び出しをインターセプトし、メモリの使用状況を記録し、ヒープと境界のチェックを実行してライブラリの正しい使用状況を確認します。
メッセージ送受信の待ちが発生しているプロセスの関係をわかりやすく表示させることができます。送信と受信を分けて確認することができ、デッドロックを検出することもできます。
NVIDIA CUDA デバイスを使用するアプリケーションを、GPU で実行されているコードの実際のデバッグと同時に、ホスト CPU コードのデバッグと同時にデバッグすることができます。以下の環境をサポートしています。
Linaro Performance Reports はプログラムの実行中に自動的に解析を行い、解析結果から最適化すべき個所をレポートとして表示することができます。レポートでは並列化度や CPU 使用率、I/O など、問題の発生源をグラフィカルに確認することができ、一番最初に着手すべきポイントを発見することができます。
Linaro Forge パフォーマンスレポートを使用することで演算処理にかかる時間を短縮するとともに、修正に要する時間も短縮することができるようになります。
機能 | ||||
---|---|---|---|---|
クラスターシステム対応デバッガー | ✔︎ | ✔︎ | – | ✔︎ |
クラスターシステム対応性能解析ツール | ✔︎ | ✔︎ | ✔︎ | – |
メモリ、OpenMP、MPIデバッグ | ✔︎ | ✔︎ | – | ✔︎ |
CPU, MPI, I/Oプロファイリング | ✔︎ | ✔︎ | ✔︎ | – |
リモート解析機能 | ✔︎ | ✔︎ | ✔︎ | ✔︎ |
バージョン管理情報 | ✔︎ | ✔︎ | ✔︎ | ✔︎ |
HPC向けPythonプロファイリング | ✔︎ | ✔︎ | ✔︎ | – |
HPC向けPythonデバッグ | ✔︎ | ✔︎ | – | ✔︎ |
Caliper を用いてコード領域を指定した性能解析 | ✔︎ | ✔︎ | ✔︎ | – |
CPU ハードウェア カウンター | – | ✔︎ | – | – |
GPU 性能解析の全機能 | 追加購入可能 | ✔︎ | 追加購入可能 | – |
GPU デバッグの全機能 | 追加購入可能 | ✔︎ | – | 追加購入可能 |
Custom metrics API | – | ✔︎ | – | – |
Linaro Performance Reports の付属 (パフォーマンスレポート生成ツール) | ✔︎ | ✔︎ | 追加購入可能 | 追加購入可能 |
アプリケーションの効率性についてのアドバイス | ✔︎ | ✔︎ | ✔︎ | – |
シミュレーションを遅らせる問題を分析することにより、Linaro Forge は、スーパーコンピューターおよびクラスター上のコンピューター支援エンジニアリングソフトウェアのスループットの向上に役立ちます。 並列および高性能コードに合わせて特別に調整されたこのツールは、ISV、オープンソース開発者、および社内のコードチームがソフトウェアのスループット、信頼性、およびスケーラビリティを向上させるのに役立ちます。詳しく見る>
Linaro Forge は、予測のペースと精度の向上に役立ちます。 Linaroは、今日の気象システムの規模に対応できる開発ツールを気象コミュニティに提供します。詳しく見る>
Linaro Forge は、ライフサイエンスの研究者と開発者がコードのパフォーマンスを加速し、バグとの闘いに費やす時間を短縮するのに役立ちますが、システム所有者はテクノロジーのスループットを向上させます。詳しく見る>
最高のデバッガーを使用すると、科学者の時間をより創造的で生産的にすることができます。 Linaroデバッガーツールは、科学的なソフトウェアプロセスを変換し、科学者が工学、物理学、地球科学、化学、生物学にブレークスルーをもたらすことを可能にします。詳しく見る>
お客様のご要望、システム構成などお気軽にご相談ください。*必須項目