关于Fortran科学代码手动Cache Blocking优化效果测试的技术问询
手动Cache Blocking优化在Fortran科学子程序中的有效性测试
最近我一直在测试手动**Cache Blocking(循环分块)**优化对Fortran科学计算子程序的性能提升效果,具体的测试细节和设置如下:
- 分块尺寸选择:我采用了经典的Distinct Lines Estimation算法来确定合适的分块大小,以此保证Cache的高效利用
- 编译环境配置:使用Intel Fortran Compiler
ifort 18.0.1(2018版),编译时启用最高优化级别-O3,同时加上-xHost选项以充分利用本地CPU的特性 - 性能对比关键设置:为了能清晰观察基准版本和分块优化版本之间的性能差异,我必须将编译器的预取级别切换至2,对应的编译选项是
-qopt-prefetch=2
后续我会继续测试不同分块大小下的性能表现,以及预取策略对优化效果的影响,随时更新我的测试结论。
内容的提问来源于stack exchange,提问作者Marco Chiarelli
相关产品推荐
相关产品推荐

