Visual Profiler for CUDAに似たデバッグ アプリケーションはありますか? 実行時間に関して、関数レベルでアプリケーションに関する情報を示します。どの関数が最も時間とメモリを消費しているかを確認できる、通常の C/C++ アプリケーション用のものはありますか?
多くのデータ ファイルを読み取り、カスタム クラスを使用してファイルを読み取り、内部でベクトルのベクトルとして表現するアプリケーションをデバッグしようとしています。データ ファイルのデータに対して実行される操作を表す別のクラスがあります。ループ内でより多くのファイルを読み取り、それらを操作すると、OS がアプリケーションを強制終了するまでメモリ使用量が増加します。動的メモリの使用からのクリーンアップについては、かなりうまくいっています。すべてのファイルと関数を調べて、どれが最も多くの時間とメモリを使用しているかを確認するのに役立つ視覚的なものは、非常に有益です!
アプリケーション内から libproc を使用して、ループの反復ごとにメモリ使用量が 500 メガバイトから 19 GB に増加することを確認できます。データのスコープがループ内にあるため、これはあってはならないことです。そのため、ループの次の繰り返しまでに、データを使用する C++ オブジェクトはクリアされて OS に返されるはずですが、これは起こっていません。
これが曖昧すぎないことを願っています。ありがとうございます。