问题描述
OpenFOAM自带Profiling功能,需要通过controlDict
中的关键字打开。
OpenFOAM自带的Profiling功能链接:OpenFOAM: API Guide v2112 profiling.H File Reference。
controlDict
中添加如下关键字后,并行运行OpenFOAM完成后,会在writeInterval
标记的时间步处输出profiling信息。
profiling
{
active true;
cpuInfo true;
memInfo true;
sysInfo true;
}
然后使用profilingSummary
可将各进程自己的profiling信息汇总到postProcessing/profiling/[YourTimeStep]/profiling
。
但是这个文件纯文本,内含各个线性系统解法器部分的耗时及其调用关系。 希望有个脚本可以直接绘制profiling文件内容表述的调用关系并汇总时间开销。
解决方案
使用jingchangshi/OpenFOAMProfilingParser中的Python脚本解析该文件,调用graphviz绘制树状图。