主题:Intel矢量化区可不可以自己定义
baccle
[专家分:190] 发布于 2010-11-05 17:33:00
在Intel visual Fortran中,编译的时候经常出现:remark: block was vectorized的提示,现经过上个问题贴各位高手们的帮助,我已经明白这个是干什么的了。
现在的问题是,具体哪里矢量化哪里不矢量化,可不可以我自己决定?不让系统自动矢量化而是我自己来?
回复列表 (共14个回复)
11 楼
yeg001 [专家分:14390] 发布于 2010-11-06 13:46:00
如果频繁开关线程开销会很大, 如果并行做得太底层就会频繁开关线程很可能得不偿失. 所以我想知道楼主的思路是怎样的.
12 楼
baccle [专家分:190] 发布于 2010-11-06 19:04:00
我的并行计算是用来算积分的:在最外层的do循环上用并行,然后用一个临界区critical放在最后将各个线程的结果累加,创建线程开销几乎可以忽略,最后的临界区critical中各个线程结果叠加的时间也几乎可以忽略,应该是并行加速比很高的一段程序。代码太长了,不好发,就是这么个思路吧。现在在考虑OpenMP+MPI混合编程
13 楼
baccle [专家分:190] 发布于 2010-11-06 19:07:00
今天终于搞明白了,Intel Fortran的MPI库是需要另外花钱买的,原来一直以为有呢,怪不得找不到地方。下个免费的MPICH吧,就是查了下安装起来太麻烦。
14 楼
aliouying [专家分:1150] 发布于 2010-11-09 23:57:00
安装不麻烦阿,linux和windows下都有安装包,设置也不难。
我来回复