2017-10-17 61 views
0

目前我是新來使用IMB基準,並希望確保如何保證過程的數量適當分配給每個節點

是否檢查的過程(NP)的配置數量是平均分配節點和每個芯

目前IMB-基準提供了基於消息的持續時間爲

的固定尺寸。例如象下面這樣一個固定大小每秒的吞吐量。

$ mpirun -np 64 -machinefile hosts_infin ./IMB-MPI1 -map 32x2 Sendrecv 

#----------------------------------------------------------------------------- 
     #bytes #repetitions t_min[usec] t_max[usec] t_avg[usec] Mbytes/sec 
      0   1000   0.76   0.76   0.76   0.00 
      1   1000   0.85   0.85   0.85   2.35 
      2   1000   0.79   0.79   0.79   5.06 
      4   1000   0.80   0.80   0.80  10.00 
      8   1000   0.78   0.78   0.78  20.45 
      16   1000   0.79   0.80   0.80  40.16 
      32   1000   0.79   0.79   0.79  80.61 
      64   1000   0.79   0.79   0.79  162.59 
      128   1000   0.82   0.82   0.82  311.41 
      256   1000   0.91   0.91   0.91  565.42 
      512   1000   0.95   0.95   0.95  1082.13 
     1024   1000   0.99   0.99   0.99  2076.87 
     2048   1000   1.27   1.27   1.27  3229.91 
     4096   1000   1.71   1.71   1.71  4802.87 
     8192   1000   2.49   2.50   2.50  6565.97 
     16384   1000   4.01   4.01   4.01  8167.28 
     32768   1000   7.08   7.09   7.08  9249.23 
     65536   640  22.89  22.89  22.89  5725.50 
     131072   320  37.45  37.45  37.45  6999.22 
     262144   160  65.74  65.76  65.75  7972.53 
     524288   80  120.10  120.15  120.12  8727.37 
     1048576   40  228.63  228.73  228.68  9168.57 
     2097152   20  445.38  445.69  445.53  9410.86 
     4194304   10  903.77  905.97  904.87  9259.29 

#----------------------------------------------------------------------------- 

但是,這並不能保證當我配置不同數量的處理器時,這些進程均勻分佈到節點上。

分配給特定的核心可以在IMB基準測試中嗎?還是我需要使用替代基準來做到這一點?

回答

0

進程(mpi等級)分配到節點的方式取決於mpi啓動器(mpirun在你的情況下),它與應用程序無關,雖然應用程序性能會受到影響,應用程序也會受到影響如果使用本地資源(如本地文件系統中的文件)則執行。順便說一句,固定到特定內核的進程也是mpi啓動程序或mpi庫的責任。

既然你沒有指定你使用的mpi實現,我強烈建議你看看man mpirun。一些mpirun命令允許-ppn指定每個節點的進程數量。其他可以讓你限制機器文件中的插槽數量。

最後,一些mpi啓動器提供了一定程度的冗長度,以向用戶顯示進程如何映射到節點中。

相關問題