正在加载图片...
中国料学火计算机科学与波术系 niversity of Science and Technolo ogy of China DEAT三 NT OF C口 MPUTER SCIENGE AND TECHNOLOr 2并行语言的构造方法 串行代码段 (c)加编译注释构造并行程序的方法 for(i=0;i<N;++)A[=b[”b[i+1 pragma parallel for(=0;i<N;i++)c]=A]+A[+1] #pragma shared(A, b, c) #pragma local() (a)使用库例程构造并行程序 id=my_process id 0; pragma pfor iterate (i=0; N 1) p=number of _ processes for(=0;iN;}++)A]=b"b[+1]; for(i=id; i<N; i=i+p)A[]=b[]"b[i+1]; pragma synchronize barriero pragma pfor iterate(i=0; N; 1) for(=id;N=计p)A四+A+1:for(=0N+)c=A[+A+1 例子:MPl,PVM, Pthreads 例子: SGI power C (b)扩展串行语言 my_process _id, number- of_processes(, and barriero A(0:N-1)=b(0:N-1)*b(1:N) c=A(O:N-1)+A(1:N) 例子: Fortran90 回家同住能计异十心(口胎国家高性能计算中心(合肥) 5 2021/2/19 2 并行语言的构造方法 串行代码段 for ( i= 0; i<N; i++ ) A[i]=b[i]*b[i+1]; for (i= 0; i<N; i++) c[i]=A[i]+A[i+1]; (a) 使用库例程构造并行程序 id=my_process_id(); p=number_of_processes(); for ( i= id; i<N; i=i+p) A[i]=b[i]*b[i+1]; barrier(); for (i= id; i<N; i=i+p) c[i]=A[i]+A[i+1]; 例子: MPI,PVM, Pthreads (b) 扩展串行语言 my_process_id,number_of_processes(), and barrier() A(0:N-1)=b(0:N-1)*b(1:N) c=A(0:N-1)+A(1:N) 例子: Fortran 90 (c) 加编译注释构造并行程序的方法 #pragma parallel #pragma shared(A,b,c) #pragma local(i) { # pragma pfor iterate(i=0;N;1) for (i=0;i<N;i++) A[i]=b[i]*b[i+1]; # pragma synchronize # pragma pfor iterate (i=0; N; 1) for (i=0;i<N;i++)c[i]=A[i]+A[i+1]; } 例子:SGI power C
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有