openmp:子程序中的seq处理

时间:2016-01-22 05:04:27

标签: fortran openmp subroutine

我想通过调用

并行执行计算
 !$OMP PARALLEL
    call sub
 !$OMP END PARALLEL
根据需要,

此n(=线程数)的激活调用sub

在sub中,我正在从单独的数据文件中读取文件和no。从线程号确定的读取数。如果我将sub中的所有内容都包含在!$OMP ORDERED ... !$OMP END ORDERED中,则此方法有效。 但是,这也会导致所有线程严格按顺序运行,即线程0先运行,所有读取都在线程1启动之前完成,等等。

我想要实现的是,所有n个线程并发运行,并且只在线程内进行顺序处理(因为读取来自不同的数据文件)。任何想法怎么样?将ORDERED替换为TASK无济于事。

0 个答案:

没有答案