回 帖 发 新 帖 刷新版面

主题:Intel矢量化区可不可以自己定义

在Intel visual Fortran中,编译的时候经常出现:remark: block was vectorized的提示,现经过上个问题贴各位高手们的帮助,我已经明白这个是干什么的了。
现在的问题是,具体哪里矢量化哪里不矢量化,可不可以我自己决定?不让系统自动矢量化而是我自己来?

回复列表 (共14个回复)

11 楼

如果频繁开关线程开销会很大, 如果并行做得太底层就会频繁开关线程很可能得不偿失. 所以我想知道楼主的思路是怎样的.

12 楼

我的并行计算是用来算积分的:在最外层的do循环上用并行,然后用一个临界区critical放在最后将各个线程的结果累加,创建线程开销几乎可以忽略,最后的临界区critical中各个线程结果叠加的时间也几乎可以忽略,应该是并行加速比很高的一段程序。代码太长了,不好发,就是这么个思路吧。现在在考虑OpenMP+MPI混合编程

13 楼

今天终于搞明白了,Intel Fortran的MPI库是需要另外花钱买的,原来一直以为有呢,怪不得找不到地方。下个免费的MPICH吧,就是查了下安装起来太麻烦。

14 楼

安装不麻烦阿,linux和windows下都有安装包,设置也不难。

我来回复

您尚未登录,请登录后再回复。点此登录或注册