<div dir="ltr">Hi all,<div><br></div><div>According to our University's HPC cluster (<a href="http://www.cpu-world.com/CPUs/Xeon/Intel-Xeon%20E5-2680%20v2.html" target="_blank">Intel Xeon E5-2680v2</a>), the online specifications says I should have a maximum BW of 59.7 GB/s. I am guessing this number is computed by 1866 MHz * 8 Bytes * 4 memory channels. <br><br>Now, when I run the STREAMS Triad benchmark on a single compute node (two sockets, 10 cores each, 64 GB total memory), on up to 20 processes with MPICH, i get the following:<br><br>$ mpiexec -n 1 ./MPIVersion: <br><div>Triad:        13448.6701   Rate (MB/s) </div><div><br></div><div>$ mpiexec -n 2 ./MPIVersion: </div><div>Triad:        24409.1406   Rate (MB/s) <br><br></div><div>$ mpiexec -n 4 ./MPIVersion </div><div>Triad:        31914.8087   Rate (MB/s)</div><div><p class="p1"><span class="s1">$ mpiexec -n 6 ./MPIVersion <br></span>Triad:        33290.2676   Rate (MB/s) </p><p class="p1"></p><p class="p1"><span class="s1">$ mpiexec -n 8 ./MPIVersion <br></span>Triad:        33618.2542   Rate (MB/s)</p><p class="p1">$ mpiexec -n 10 ./MPIVersion <br>Triad:        33730.1662   Rate (MB/s) </p><p class="p1"></p><p class="p1"><span class="s1">$ mpiexec -n 12 ./MPIVersion <br></span>Triad:        40835.9440   Rate (MB/s) </p><p class="p1"></p><p class="p1"><span class="s1">$ mpiexec -n 14 ./MPIVersion <br></span>Triad:        44396.0042   Rate (MB/s)</p><p class="p1">$ mpiexec -n 16 ./MPIVersion <br>Triad:        54647.5214   Rate (MB/s) *</p><p class="p1">$ mpiexec -n 18 ./MPIVersion <br>Triad:        57530.8125   Rate (MB/s) *</p><p class="p1">$ mpiexec -n 20 ./MPIVersion <br>Triad:        42388.0739   Rate (MB/s) *<br><br>The * numbers fluctuate greatly each time I run this. However, if I use hydra's processor binding options:</p><p class="p1">$ mpiexec.hydra -n 2 -bind-to socket ./MPIVersion <br>Triad:        26879.3853   Rate (MB/s) <br></p><p class="p1">$ mpiexec.hydra -n 4 -bind-to socket ./MPIVersion <br>Triad:        48363.8441   Rate (MB/s)</p><p class="p1">$ mpiexec.hydra -n 8 -bind-to socket ./MPIVersion <br>Triad:        63479.9284   Rate (MB/s)<br></p><p class="p1">$ mpiexec.hydra -n 10 -bind-to socket ./MPIVersion <br>Triad:        66160.5627   Rate (MB/s) </p><p class="p1">$ mpiexec.hydra -n 16 -bind-to socket ./MPIVersion <br>Triad:        65975.5959   Rate (MB/s) </p><p class="p1">$ mpiexec.hydra -n 20 -bind-to socket ./MPIVersion <br>Triad:        64738.9336   Rate (MB/s) </p><p class="p1">I get similar metrics when i use the binding options "-bind-to hwthread -map-by socket". <br><br>Now my question is, is 13.5 GB/s on one processor "good"? Because when I compare this to the 59.7 GB/s it seems really inefficient. Is there a way to browse through my system files to confirm this?</p><p class="p1">Also, when I use multiple cores and with proper binding, the streams BW exceeds the reported max BW. Is this expected?</p><p class="p1">Thanks,<br>Justin</p></div></div></div>