流固耦合程序并行实现记录

来源:互联网 发布:linux jdk1.6 rpm下载 编辑:程序博客网 时间:2024/05/16 19:47
1、通过CVF编写的流固耦合计算程序的运行效果是:
      第一个逆矩阵运行时间是3.562500S,第二个逆矩阵的运行时间是3.546875S,整个程序的运行时间是10.21875S.
2、将CVF编写的该段程序转到IVF中,并通过ompMP进行并行编程,主要实现的是将两个矩阵求逆的运算粉喷到两个核上进行运算,实现初步并行。并行效果是:
      程序中的hotpoint之一boundary()耗时1.4531250S.
      第一个逆矩阵运行时间是4.093750S,第二个逆矩阵的运行时间是4.125000S,整个程序的运行时间是5.7031250S.
3、继续化小粒度,实现boundary()中,DO循环的并行,暂时未达到预期效果。
4、继续将两个逆矩阵中的结构进行并行,需要用到的知识点是openMP的并行嵌套。暂时也未达到预期效果。
5、进行Inter并行编译器的配置设置:
A: Optimization->Optimization->O3
B: Optimization->Interprocedural Optimization->Multifile
C: Code Generation->Intel Processor-Specific Optimization->/QxHost
D: Floating Point ->Floating Point Model ->Fast=2
运行效果是:
boundary( )耗时是0.531250S,第一个逆矩阵的运行时间是2.453125S,第二个逆矩阵的运行时间是2.468750S,
整个程序的运行时间是3.2031250S。
6、将debug版,改为release版,运行效果是:
      boundary( )耗时是0.250000S,第一个逆矩阵的运行时间是0.750000S,第二个逆矩阵的运行时间是0.7500000S,
整个程序的运行时间是1.0781250S。





原创粉丝点击