Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2010, 21:43   #1
Bezo
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 16
Вопрос Fortran где у меня ошибка????

Здраствуйте вот листинг но он почемуто неработает подскажите где у меня ошибка???????


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
Bezo вне форума Ответить с цитированием
Старый 17.06.2010, 21:51   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Не кисло (посмотрев на объем)...
А что вы листинг как код не оформили? (кнопочка с решеткой)
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 17.06.2010, 23:37   #3
Bezo
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 16
По умолчанию

Всмысле как код?? Разкажите пожалуйста что сделать чтоб оно заработало???
Bezo вне форума Ответить с цитированием
Старый 18.06.2010, 00:06   #4
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Цитата:
Всмысле как код??
Вы когда листинг тут выкладывали, надо было его весь выделить и на кнопку нажать с изображением решетки.

Цитата:
Разкажите пожалуйста что сделать чтоб оно заработало???
Я в Фортране не силен, увы ((
Хоть и есть у меня знакомый специалист, но ему время очень дорого, не возьмется, наверно. Завтра его спрошу.


Добавлено позже:

Отказался он. Сожалею, но помочь никак не могу.
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab

Последний раз редактировалось ex.cluz; 18.06.2010 в 23:39.
ex.cluz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите,где у меня здесь ошибка!!НА СИ 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