早教吧作业答案频道 -->其他-->
请看看则个fortran结合openmp并行程序,为什么老出错?programsctimplicitnoneinclude'omplib.h'integerk,dct;dct=0;C$OMPPARALLELPRIVATE(B)1dok=1,1000dct=dct+1;enddowrite(*,*)"dc
题目详情
请看看则个fortran结合openmp并行程序,为什么老出错?
program sct
implicit none
include 'omp_lib.h'
integer k,dct;
dct=0;
C$OMP PARALLEL PRIVATE(B)
1do k=1,1000
dct=dct+1;
enddo
write(*,*)"dct=", dct
pause
end program sct
编译的时候提示 Error: Syntax error, found IDENTIFIER 'PARALLEL' when expecting one of: => = . ( : % 等一共9个错误,指向了C$OMP PARALLEL PRIVATE(B)语句.
如果删除这一句,又会提示:无法解析的外部符号 _OMP_SET_NUM_THREADS 等20个错误.最后把include 'omp_lib.h'删除,才能通过.
请问什么什么地方出错了?是不是include 'omp_lib.h'这一句有问题?
上面有一句话我贴错了, C$OMP PARALLEL PRIVATE(B) 这一句应该是 C$OMP PARALLEL DO. 另外我用的是VS 2005和intel fortran9.1.
program sct
implicit none
include 'omp_lib.h'
integer k,dct;
dct=0;
C$OMP PARALLEL PRIVATE(B)
1do k=1,1000
dct=dct+1;
enddo
write(*,*)"dct=", dct
pause
end program sct
编译的时候提示 Error: Syntax error, found IDENTIFIER 'PARALLEL' when expecting one of: => = . ( : % 等一共9个错误,指向了C$OMP PARALLEL PRIVATE(B)语句.
如果删除这一句,又会提示:无法解析的外部符号 _OMP_SET_NUM_THREADS 等20个错误.最后把include 'omp_lib.h'删除,才能通过.
请问什么什么地方出错了?是不是include 'omp_lib.h'这一句有问题?
上面有一句话我贴错了, C$OMP PARALLEL PRIVATE(B) 这一句应该是 C$OMP PARALLEL DO. 另外我用的是VS 2005和intel fortran9.1.
▼优质解答
答案和解析
才发现你这源程序混合了C、F77、F95三种语法……
而且没有恰当使用private保护变量或者reduction.
正确的写法(F95+OpenMP):
program sct
use omp_lib
implicit none
integer k,dct
dct=0
\x09
!$OMP parallel do reduction(+:dct)
do k=1,1000
dct=dct+1
enddo
!$OMP end parallel do
write(*,*)"dct=",dct
pause
end program sct
而且没有恰当使用private保护变量或者reduction.
正确的写法(F95+OpenMP):
program sct
use omp_lib
implicit none
integer k,dct
dct=0
\x09
!$OMP parallel do reduction(+:dct)
do k=1,1000
dct=dct+1
enddo
!$OMP end parallel do
write(*,*)"dct=",dct
pause
end program sct
看了 请看看则个fortran结合...的网友还看了以下:
已知命题p,非p和p的否命题一样吗?分别和p同真假吗?命题p:正数的对数都是负数.非p和p的否命题分 2020-03-30 …
已知集合P={y|y=x平方-1,x属于R},Q={y|y=-2x平方+2,x属于R},求P并Q. 2020-04-27 …
概率加法公式加法公式,对于任意两事件A,B,有P(A并B)=P(A)+P(B)-P(AB)成立,假 2020-05-16 …
数轴上两点A、B对应的数是-10,30啊点P从A点出发,沿数轴正方向以1单位长度/秒的速度匀速平移 2020-05-16 …
¬(P↔Q)怎么推出(P∧¬Q)∨(¬P∧Q).古典逻辑.真值树系统推论的一步一步过程详细点.例子 2020-06-12 …
两题单链表逆置,求讲解1.p=head->next;head->next=NULL;while(p 2020-06-15 …
p(aandb)p(banda)有区别么?统计学:公式:p(aandb)=p(a)*p(b/a)呢 2020-07-22 …
X、Y分别服从参数为(n,p)(m,p)的二项分布,通过计算求出X+Y的分布我用的方法Z=X+YP( 2020-10-31 …
根据下列各组命题中的p,q写出命题p∧q、p∨q、¬p并判断起真假.根据下列各组命题中的p,q写出命 2020-12-13 …
对于下述命题p,写出“¬p”形式的命题,并判断“p”与“¬p”的真假:(1)p:91∈(A∩B)(其 2020-12-13 …