用途:面向计算材料科学模拟的性能剖析,帮助定位计算瓶颈、分析并行扩展行为、估算内存需求并给出优化建议。
主要能力:包含四个脚本。timing_analyzer.py 解析模拟日志中的计时数据,输出各阶段耗时、最慢阶段与总时间;scaling_analyzer.py 基于多次运行数据做强扩展或弱扩展效率分析;memory_profiler.py 根据问题参数估算总内存、单进程内存并给出警告;bottleneck_detector.py 综合上述结果输出瓶颈与建议。
使用方式:需 Python 3.8+,无外部依赖,支持 Linux、macOS、Windows。运行前准备模拟日志、扩展数据 JSON、参数 JSON,可选可用内存 GB。示例:python3 scripts/timing_analyzer.py --log simulation.log --json;python3 scripts/scaling_analyzer.py --data scaling_data.json --type strong --json;python3 scripts/memory_profiler.py --params simulation_params.json --available-gb 16.0 --json;python3 scripts/bottleneck_detector.py --timing timing_results.json --scaling scaling_results.json --memory memory_results.json --json。日志格式不匹配时可用 --pattern 自定义正则。
适用场景:求解器、装配、I/O 或并行扩展成为瓶颈时的诊断与优化决策,以及优化后复测验证。
限制:日志解析依赖模式匹配,可能漏掉非常规格式;扩展分析至少需要 2 次运行;内存估算为近似值;建议为通用指导,可能需结合领域调优。参考文档见 references/profiling_guide.md 与 references/optimization_strategies.md。