Allinea DDT は開発者のデバッグにかかる時間を短縮し、ソフトウェアのタイムリーな完成を支援します。この包括的な C/C++、Fortran、Fortran 90 向けのマルチプロセス/マルチスレッド・アプリケーション用デバッガーを使うことにより、次のことが実現できます:
MPI や OpenMP* などのライブラリーを使用したマルチプロセスやマルチスレッドの開発する場合には、Allinea DDT を使うことで並列処理の実装が容易になります。
DDT では、優れたデータ収集機能や差異のハイライト表示機能によってプログラムの状態を自動的に比較対照できますので、複数のコンテキストをすばやく処理することが可能です。
並列スタックビューにより、少数のものから数百、数千にいたるスレッドおよびプロセスのスタックがスケーラブルに表示できます。スタックをグループ化し、ダイバージェンスを示唆する差異をハイライトしますので、MPIやOpenMP*、pthreads、CUDA および OpenACC などのデバッグに最適です。
優れたハイライトおよびスパークライン機能で各プロセスにおける変数値をサムネイル表示するため、通常と異なるデータの値やデータの変更が瞬時に確認できます。スパークラインに関する詳細についてはブログを参照してください。さらに、プロセスやスレッド間の比較ツールにより、データのグループ化や検索が容易になります。
DDT では、広く普及しているMPI 規格のメッセージキューをデバッグし、マルチプロセスのコードにありがちなタイプのバグを見極めるのにも役立ちます。
Allinea DDTは、実証済みの非常に高速なパフォーマンスで、瞬時にして 700,000 のプロセスをステップ実行し、表示します。
Allinea DDT を使うと、変数を表示して複雑なデータ構造体を把握するという必要不可欠な作業が容易になります。
C++、Fortan 関連の機能については、C++ debugging、Fortran debugging ページを参照ください。
DDT の組み込みメモリーデバッガーは、ヒープメモリーの使用における問題を自動的に表示します。
詳細はメモリーデバッグページを参照ください。
デバッグに成功すると、コードの高速化が期待されます。Allinea DDT は、開発ツールスイートであるAllinea Forge の一部です。DDT は単一ツールとして、またはLinux* 上での並列/マルチスレッド・コードの代表的なプロファイラーである Allinea MAP (Linux parallel and threaded code profiler, Allinea MAP) を含むAllinea Forge ライセンスの一部としても入手可能です。MAP は、DDT と同じユーザー・インターフェースおよびインストールを使用しているため、デバッグ後にコードのプロファイルへの移行が楽にできます。
開発者は、パワフルなユーザー・インターフェースでデバッグ作業と同時に編集、ビルド、そしてコミットすることができます。
リモートシステムを使用する場合でも、Mac や Windows®、Linux* クライアントのノートパソコンからリモート・クライアントを使って問題なく接続できます。
Allinea DDT はベスト・プラクティスを統合し、より迅速に問題の原因を明らかにするため、デバッグに多くの時間を必要としません。
Allinea DDT のログブックには作業中に踏んだステップがすべて記録されますので、デバッグの進捗管理も簡単です。
トレースポイントを使うことで、スケーラブルな printf デバッグが実現します。DDT では、コードにトレースポイントを挿入し、コード1行ごとにその値をログします。結果は、対話的にまたはオフライン・デバッグ・モードで利用可能です。
オフラインモードでは、スリープ中でもデバッグできます。バッチ・スケジューラーを利用してコマンドラインからオフラインデバッグの実行をスケジュールすると、ジョブの完了時に DDT からテキストまたは HTML 形式のエラーおよびトレースレポートが送信されます。オフラインデバッグに関する詳細は、ブログを参照してください。
DDT は、科学計算および技術計算における膨大なデータセットの処理を実現できるように設計されています。複数のプロセスに分散している場合でも、巨大な配列の表示またはフィルタリングができます。
Allinea DDT はクロスプラットフォームに対応しており、現在使われている主要な技術計算プラットフォームをすべてサポートしています。1つの製品で CUDA デバッグ (CUDA debugger)、並列デバッグ、マルチスレッド・デバッグ、OpenMP* プログラムのデバッグおよびメモリーデバッグ(memory debugger) 機能のすべてを備えており、ハイブリッド型のプログラミング・モデルをサポートしています。
アーキテクチャー
インテル® Xeon®、インテル® Xeon Phi™、NVIDIA CUDA、IBM BlueGene/Q、OpenPOWER、ARM 8 (64 ビット)
モデル
MPI、OpenMP*、CUDA、OpenACC、UPC、CoArray Fortran、PGAS 言語、pthread によるマルチスレッド、SHMEM、OpenSHMEM
プログラミング言語
Fortran、C++、C++11、C、PGAS 言語、CoArray Fortran
» 詳細はこちら