主题:fortran problem!!! 求高手指教啊!!!
longhaicheng
[专家分:0] 发布于 2013-10-02 18:05:00
最近编了个fortran 程序,单线程运行没问题。加 openmp 并行之后,程序就不正常中断了!设定程序迭代20次,有时能迭代10次,有时能迭代一两次!!! 求高手指教。 我把 栈大小 和 master thread 内存都设得足够大的。
最后更新于:2013-10-02 18:18:00
回复列表 (共4个回复)
沙发
longhaicheng [专家分:0] 发布于 2013-10-02 18:15:00
问题再具体些:当不用
open(20,file="G0BAR_SEARCH.dat")
do imatu=1,Matsu
write(20,"(I5,4D20.10)")imatu,re_gfimag(1,1,imatu),
$ gfimag(1,1,imatu)
end do
close(20)
这段程序时,整个迭代能完成。只要遇见这样的输出程序就可能在某次迭代处中断!!
板凳
cgl_lgs [专家分:21040] 发布于 2013-10-14 11:12:00
Open和Close都在并行体内么?如果是,那必然不可以。
3 楼
longhaicheng [专家分:0] 发布于 2013-10-14 22:31:00
OPEN 和 CLOSE 部分是 串行的,不在并行体内。呵呵
4 楼
cgl_lgs [专家分:21040] 发布于 2013-10-24 12:15:00
读写文件如果用并行也不可以,除非是用记录方式。
我来回复