![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.06.2010
Сообщений: 16
|
![]()
Здраствуйте вот листинг но он почемуто неработает подскажите где у меня ошибка???????
1 PROGRAM EXAMPLE 2 INCLUDE 'mpif.h' 3 PARAMETER(NDIM=1500) 4 COMMON/main/ A(NDIM,NDIM) 5 COMMON/first/ b(NDIM) 6 REAL*8 A,b 7 INTEGER my_id,np,ierr,comm 8 INTEGER n 9 OPEN(UNIT=19,FILE='iter.dat',ACCESS ='APPEND') 10 OPEN(UNIT=20,FILE='iter.rez') 11 CALL MPI_Init(ierr) 12 comm=MPI_COMM_WORLD 13 CALL MPI_Comm_rank(comm,my_id,ierr) 14 CALL MPI_Comm_size(comm,np,ierr) 15 IF (my_id.eq.0) THEN 16 Write (*,*) 'Process ',my_id,' of ',np 17 Write (19,*) 'Process ',my_id,' of ',np 18 END IF 19 2002 FORMAT('Dimension ','|','Iteration ','|', 20 * 'Time ','|','EPS ','|','MFLOPS') 21 DO n=100,1500,100 22 CALL matgen(n) 23 CALL iteration(n,np,my_id,comm) 24 END DO 25 CALL MPI_Finalize(ierr) 26 CLOSE(19) 27 CLOSE(20) 28 STOP 29 END 30 SUBROUTINE iteration(n,np,my_id,comm) 31 IMPLICIT REAL*8 (A-D) 32 INCLUDE 'mpif.h' 33 PARAMETER(NDIM=1500) 34 COMMON/BLK 10/ x(NDIM) 35 COMMON/BLK 11/ xn(NDIM) 36 COMMON/BLK 12/ xn_temp(NDIM) 37 COMMON/main/ A (NDIM,NDIM) 38 COMMON/first/ b (NDIM) 39 INTEGER my_id,np,ierr,comm 40 INTEGER n,i,j,k,iter,shag 41 REAL*8 A, b 42 REAL*8 x,xn,xn_temp 43 REAL*8 summa,e,eps,ar,epsmax,mflops 44 DOUBLE PRECISION t 45 2001 FORMAT(I10,'|',I10,'|',F10.5,'|',F1 0.8,'|',F10.6) 46 e=0.0000001d0 47 shag=n/np 48 DO i=1,n 49 ar=A(i,i) 50 b(i)=b(i)/ar 51 xn(i)=b(i) 52 xn_temp(i)=0 53 END DO 54 ii=shag*my_id 55 DO i=1,shag 56 ar=A(ii+i,ii+i) 57 DO j=1,n 58 A(ii+i,j)=-A(ii+i,j)/ar 59 END DO 60 A(ii+i,ii+i)=1 61 END DO 62 t=MPI_Wtime() 63 iter=0 64 13 CONTINUE 65 iter=iter+1 66 DO i=1,shag 67 summa=b(ii+i) 68 DO j=1,ii+i-1 69 summa=summa+xn(j)*A(ii+i,j) 70 END DO 71 DO j=ii+i+1,n 72 summa=summa+xn(j)*A(ii+i,j) 73 END DO 74 x(i)=summa 75 END DO 76 CALL MPI_Allgather(x(1),shag,MPI_REAL8,x n(1),shag, 77 * MPI_REAL8,comm,ierr) 78 eps=0 79 DO i=1,shag 80 IF(DABS(xn(ii+i)-xn_temp(ii+i)).gt.eps) THEN 81 eps=DABS(xn(ii+i)-xn_temp(ii+i)) 82 END IF 83 END DO 84 DO i=1,n 85 xn_temp(i)=xn(i) 86 END DO 87 CALL MPI_Allreduce(eps,epsmax,1,MPI_REAL 8, 88 * MPI_MAX,comm,ierr) 89 IF (e.le.epsmax) GOTO 13 90 t=MPI_Wtime()-t 91 IF (my_id.eq.0) THEN 92 DO i=1,n 93 write (20,*) 'x',i,'= ',xn(i) 94 b(i)=xn(i) 95 END DO 96 mflops=(3*n*(n-1)*iter)/(t*1000000) 97 Write (*,2001) n,iter,t,epsmax,mflops 98 Write (19,2001) n,iter,t,epsmax,mflops 99 END IF 100 RETURN 101 END |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
![]()
Не кисло (посмотрев на объем)...
А что вы листинг как код не оформили? (кнопочка с решеткой)
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.06.2010
Сообщений: 16
|
![]()
Всмысле как код?? Разкажите пожалуйста что сделать чтоб оно заработало???
|
![]() |
![]() |
![]() |
#4 | ||
Участник клуба
Регистрация: 15.01.2010
Сообщений: 1,325
|
![]() Цитата:
Цитата:
Хоть и есть у меня знакомый специалист, но ему время очень дорого, не возьмется, наверно. Завтра его спрошу. Добавлено позже: Отказался он. Сожалею, но помочь никак не могу.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "[ПРОграммист]" Yan's Home Digital Lab Последний раз редактировалось ex.cluz; 18.06.2010 в 23:39. |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите,где у меня здесь ошибка!!НА СИ | osichev | Помощь студентам | 11 | 07.06.2009 20:17 |
Fortran , ошибка в dimension | marow | Помощь студентам | 0 | 03.04.2009 23:35 |
[Fortran] в чём ошибка ? | ghost8495 | Помощь студентам | 2 | 01.04.2009 23:18 |
Подскажите где у меня ошибка(Паскаль) | NTFS | Помощь студентам | 3 | 02.04.2008 19:28 |