プログラムを複数のコアで実行しようとしています。デスクトップに12個のコアがあり、コンピューターで1、2、3、4、......、11、12を1つずつ使用し、さまざまな数のコアでプログラムがどのように実行されるかをテストしたいと考えています。のような実行可能ファイルの後に-t4または-t4を使用してみました。
./a.out -t4
しかし、正確に4を使用しているかどうかはわかりません。誰かが私がこれを理解するのを手伝ってくれるか、私を正しい方向に向けてください。
プログラムを複数のコアで実行しようとしています。デスクトップに12個のコアがあり、コンピューターで1、2、3、4、......、11、12を1つずつ使用し、さまざまな数のコアでプログラムがどのように実行されるかをテストしたいと考えています。のような実行可能ファイルの後に-t4または-t4を使用してみました。
./a.out -t4
しかし、正確に4を使用しているかどうかはわかりません。誰かが私がこれを理解するのを手伝ってくれるか、私を正しい方向に向けてください。
マシンの複数のコアを使用するには、プログラムをマルチスレッド化する必要があります。
これは、プログラムの実際のコードがスレッドを認識し、それらを効率的に使用する必要があることを意味します。
プログラムに特定の数のスレッドで実行するように単純に要求することはできません。
スレッドを生成してそれらに作業を分散するには、pthreadなどのスレッドライブラリを使用する必要があります。
libnumaライブラリをチェックする必要があります。
さまざまなスレッドをプログラムで実行するコアを設定するか、コマンドラインオプションを使用して実行することができます。詳細なドキュメントへのリンクは次のとおりです。http://www.halobates.de/numaapi3.pdf