您的位置:首页 > 其它

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

2011-10-11 17:34 176 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: