VC++ で multitprocess アプリケーションを作成し、systemMATLAB のコマンドでコマンド ライン引数を指定して実行しようとしました。実行されますが、1 つのコアでのみ --- 何か提案はありますか?
更新:実際には、2 番目のコアも表示されません。私は OpenMP を使用し、and を使用omp_get_max_threads()しomp_get_thread_num()てチェックし、MATLAB からアプリケーションを実行したときのomp_get_max_threads()ようですが、コマンド ウィンドウから実行した場合は (予想どおり) です。12
質問:私のタスク マネージャは、CPU 使用率が 100% に近いと報告しています --- これは、前述の API が誤動作していて、まだマルチプロセス アプリケーションとして実行されていることを意味しますか?
確認:
Process Explorerを使用して、スレッド数に違いがあるかどうかを確認しました。
コマンドウィンドウからアプリケーションを呼び出すと、1スレッドがアプリケーションcmd.exeに2行き来します。
MATLAB から呼び出すと、26スレッドは for MATLAB.exe、1for cmd.exe、および1for のアプリケーションです。
何か案は?
