亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

輕量級MPI函數統計信息收集工具mpiP使用分享

2024-12-19 09:15:05
134
0

mpiP簡介

mpiP是一個用于MPI應用程序的輕量級、伸縮性良好的MPI profiling庫。由于mpiP只收集關于MPI函數的統計信息,因此與跟蹤工具相比,它生成的開銷和數據要少得多。

mpiP安裝

最新版本的mpiP可以在github/LLNL/mpiP/releases/latest獲取。

依賴庫:安裝mpiP之前需要安裝兩個依賴庫

  • libunwind
  • binutils

注意:在Cenos7.9系統安裝libunwind需要先對gcc進行升級

安裝方法:

./configure
make
make install

安裝后會生成一個動態庫 libmpiP.so

mpiP使用

可以通過使用以下參數在運行時設置mpiP的行為。多個參數可以用空格或逗號分隔。

參數 描述 默認值
-c 生成簡明版本的報告,省略特定流程的細節。
-d 禁止打印callsite細節部分。
-e 使用浮點格式打印報表數據。
-f dir 將輸出文件記錄在目錄中。 .
-g 打開mpiP調試模式。 disabled
-k n 將調用站點堆棧回溯深度設置為。 1
-l 通過使用MPI集合在每個調用站點的基礎上生成調用站點信息,使用更少的內存來生成報告。
-n 不要截斷調用站點中文件名的完整路徑名。
-o 在初始化時禁用分析。應用程序必須使用MPI_Pcontrol()啟用分析。
-p 點對點直方圖報告消息大小和使用的通信器。
-r 通過在單個任務中聚合數據來生成報告。 default
-s n 設置哈希表大小為。 256
-t x 為報告設置打印閾值,其中是每個呼叫站點的MPI時間百分比。 0.0
-v 生成簡潔和詳細的報告輸出。
-x exe 指定可執行文件的完整路徑。
-y 集體直方圖報告消息大小和使用的通信器。
-z 在MPI_Finalize處禁止打印報告。
  • 設置環境變量

在~/.bashrc文件中添加MPIP設置,如

export MPIP="-e,-f /data/apps/mpiP/logs,-y,-p"

在MPI命令之前執行環境配置命令,也可將其加入到~/.bashrc中,但不建議

LD\_PRELOAD=/data/apps/mpiP/mpiP-main/libmpiP.so

注:/data/apps/mpiP/mpiP-main/ 為mpiP安裝目錄

  • 以觀測某軟件作業MPI交互信息為例,作業執行命令
LD\_PRELOAD=/data/apps/mpiP/mpiP-main/libmpiP.so  nohup /mnt/work/run.sh interactive &

程序結束運行時會輸出一個mpiP的輸出文件到前面MPIP設置中指定的位置/data/apps/mpiP/logs

  • mpiP輸出文件解讀

  • 打開輸出文件可以看到幾個部分。首先記錄了程序運行的信息,每個MPI進程的分布。
  • 第二部分記錄了每個進程花在MPI相關的函數上的時間,占總的時間比例:

    可以看到通信負載相對比較均衡。
  • 第三部分展示了各個MPI相關函數調用的信息,每一個ID對應一個位置的調用(同樣的MPI函數出現在不同地方的調用,有不同的ID,如下圖的Waitall、Bcast、Isend等)
  • 第四部分記錄了總耗時在前20個的MPI函數調用。這里的site就對應上一部分的ID,可以據此判定這一項對應哪個位置的調用。
  • 第五部分記錄了發的消息總大小、次數、平均大小。按照消息總大小展示前20名的函數調用。
  • 第六部分展示了集合通信的總耗時、通信子大小、數據大小(此為-y參數對應展示信息)。
  • 第七部分展示了點對點通信的通信子大小、消息大小等,MPI_Sent %表示的是這一個調用占的發送消息的總比例(此為-p參數對應展示信息)。
  • 第八部分是每個調用位置的統計信息。該部分首先是時間信息,包括了操作時間的最大最小值和平均值,以及該調用位置耗時在它進程的MPI總時間和整個程序時間中的占比(Rank列中的星號代表該調用位置的累加的信息)。這部分的排序是按字母序的,a開頭的Allreduce在前。
  • 最后一部分同樣是每個調用位置的統計信息,記錄的是通信的消息大小。
0條評論
0 / 1000
c****w
11文章數
0粉絲數
c****w
11 文章 | 0 粉絲
原創

輕量級MPI函數統計信息收集工具mpiP使用分享

2024-12-19 09:15:05
134
0

mpiP簡介

mpiP是一個用于MPI應用程序的輕量級、伸縮性良好的MPI profiling庫。由于mpiP只收集關于MPI函數的統計信息,因此與跟蹤工具相比,它生成的開銷和數據要少得多。

mpiP安裝

最新版本的mpiP可以在github/LLNL/mpiP/releases/latest獲取。

依賴庫:安裝mpiP之前需要安裝兩個依賴庫

  • libunwind
  • binutils

注意:在Cenos7.9系統安裝libunwind需要先對gcc進行升級

安裝方法:

./configure
make
make install

安裝后會生成一個動態庫 libmpiP.so

mpiP使用

可以通過使用以下參數在運行時設置mpiP的行為。多個參數可以用空格或逗號分隔。

參數 描述 默認值
-c 生成簡明版本的報告,省略特定流程的細節。
-d 禁止打印callsite細節部分。
-e 使用浮點格式打印報表數據。
-f dir 將輸出文件記錄在目錄中。 .
-g 打開mpiP調試模式。 disabled
-k n 將調用站點堆棧回溯深度設置為。 1
-l 通過使用MPI集合在每個調用站點的基礎上生成調用站點信息,使用更少的內存來生成報告。
-n 不要截斷調用站點中文件名的完整路徑名。
-o 在初始化時禁用分析。應用程序必須使用MPI_Pcontrol()啟用分析。
-p 點對點直方圖報告消息大小和使用的通信器。
-r 通過在單個任務中聚合數據來生成報告。 default
-s n 設置哈希表大小為。 256
-t x 為報告設置打印閾值,其中是每個呼叫站點的MPI時間百分比。 0.0
-v 生成簡潔和詳細的報告輸出。
-x exe 指定可執行文件的完整路徑。
-y 集體直方圖報告消息大小和使用的通信器。
-z 在MPI_Finalize處禁止打印報告。
  • 設置環境變量

在~/.bashrc文件中添加MPIP設置,如

export MPIP="-e,-f /data/apps/mpiP/logs,-y,-p"

在MPI命令之前執行環境配置命令,也可將其加入到~/.bashrc中,但不建議

LD\_PRELOAD=/data/apps/mpiP/mpiP-main/libmpiP.so

注:/data/apps/mpiP/mpiP-main/ 為mpiP安裝目錄

  • 以觀測某軟件作業MPI交互信息為例,作業執行命令
LD\_PRELOAD=/data/apps/mpiP/mpiP-main/libmpiP.so  nohup /mnt/work/run.sh interactive &

程序結束運行時會輸出一個mpiP的輸出文件到前面MPIP設置中指定的位置/data/apps/mpiP/logs

  • mpiP輸出文件解讀

  • 打開輸出文件可以看到幾個部分。首先記錄了程序運行的信息,每個MPI進程的分布。
  • 第二部分記錄了每個進程花在MPI相關的函數上的時間,占總的時間比例:

    可以看到通信負載相對比較均衡。
  • 第三部分展示了各個MPI相關函數調用的信息,每一個ID對應一個位置的調用(同樣的MPI函數出現在不同地方的調用,有不同的ID,如下圖的Waitall、Bcast、Isend等)
  • 第四部分記錄了總耗時在前20個的MPI函數調用。這里的site就對應上一部分的ID,可以據此判定這一項對應哪個位置的調用。
  • 第五部分記錄了發的消息總大小、次數、平均大小。按照消息總大小展示前20名的函數調用。
  • 第六部分展示了集合通信的總耗時、通信子大小、數據大小(此為-y參數對應展示信息)。
  • 第七部分展示了點對點通信的通信子大小、消息大小等,MPI_Sent %表示的是這一個調用占的發送消息的總比例(此為-p參數對應展示信息)。
  • 第八部分是每個調用位置的統計信息。該部分首先是時間信息,包括了操作時間的最大最小值和平均值,以及該調用位置耗時在它進程的MPI總時間和整個程序時間中的占比(Rank列中的星號代表該調用位置的累加的信息)。這部分的排序是按字母序的,a開頭的Allreduce在前。
  • 最后一部分同樣是每個調用位置的統計信息,記錄的是通信的消息大小。
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
2
1