This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
自作クラスタ計算機:mpiによる並列計算 [2020/03/02 13:57] koudai [準備] |
自作クラスタ計算機:mpiによる並列計算 [2020/03/02 14:56] koudai [準備] |
||
---|---|---|---|
Line 15: | Line 15: | ||
* 出てきた数字の種類の数だけCPUがあります。0と1の2種類であれば、そのノードにはCPUが2つあります。 | * 出てきた数字の種類の数だけCPUがあります。0と1の2種類であれば、そのノードにはCPUが2つあります。 | ||
* CPUあたりのコア数< | * CPUあたりのコア数< | ||
- | * 出てきた数字がCPUあたりのコア数になります | + | * 出てきた数字がCPUあたりの物理コア数になります |
- | * スレッド数< | + | * スレッド数(論理コア数)< |
- | * 表示される行数が スレッド数 = CPU数 × CPUあたりのコア数 に対応します。通常はノード内の全コア数と等しいですが、Hyper-Threadingがオンになっていればスレッド数はその2倍になります(BIOSで設定)。 | + | * 表示される行数が スレッド数 = CPU数 × CPUあたりのコア数 に対応します。Hyper-Threadingが有効の場合、論理コア数は物理コア数の2倍になります。 |
- | * Hyper-Threadingは見かけ上コア数が2倍になる技術であり、並列計算プログラムで並列化効率が良い場合は逆に計算速度が著しく低下します。これは1つの物理コアに2つのジョブが投入されてしまうために発生します。 | + | * Hyper-Threadingは見かけ上のコア数が2倍になる技術であり、並列計算プログラムで並列化効率が良い場合は逆に計算速度が著しく低下します。これは1つの物理コアに2つのジョブが投入されてしまうために発生します。 |
* 並列化されたスレッドごとの並列化効率が著しく悪く、1つのスレッドの計算が終わっているのに別のスレッドの計算は続いている、というような場合にのみ有効です。 | * 並列化されたスレッドごとの並列化効率が著しく悪く、1つのスレッドの計算が終わっているのに別のスレッドの計算は続いている、というような場合にのみ有効です。 | ||
- | * よくわからない場合は、BIOSを使ってHyper-Threadingをオフにするか、MPIでのジョブ投入時に並列数をコア数以下にすることが望ましいです。 | + | * よくわからない場合は、BIOSを使ってHyper-Threadingをオフにするか、MPIでのジョブ投入時に並列数を物理コア数以下にすることが望ましいです。 |