program test implicit none integer n parameter (n=300) integer i,j,io_err double precision a(n),b(n),c,d(n*n),ddot c-----fichier data output open (unit=4, file='test.out',iostat=io_err) if (io_err.ne.0) then write(*,*) 'erreur ouverture fichier out' stop endif c-----fichier data input open (unit=3, file='test.dat',status='old',iostat=io_err) if (io_err.ne.0) then write(*,*) 'erreur ouverture fichier dat' stop endif write(4,*) 'début petit programme' write(*,*) 'début petit programme' c-----lecture données read(3,*) j write(4,*) 'données lues : ',j c-----parallélisation des boucles c-----à l'aide d'OpenMP : directive de compilation !$OMP PARALLEL SHARED(a,b,d) PRIVATE(i) c-----initialisation do i=1,n a(i) = 3.d+00 b(i) = 2.d+00 enddo do i=1,n*n d(i) = 2.d+00 enddo !$OMP END PARALLEL c-----calculs divers c = ddot(n,a,1,b,1) write(4,*) 'produit scalaire',c call dgemv('n',n,n,1.d+00,d,n,a,1, & 0.d+00,b,1) c = ddot(n,a,1,b,1) write(4,*) 'produit scalaire',c c-----fin write(4,*) 'fin petit programme' write(*,*) 'fin petit programme' close(unit=3) close(unit=4) end