NastyaShaly
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем привет!Помогите, пожалуйста Необходимо представить цикл в параллельной форме указанным методом. Написать программу на языке ФОРТРАН для вычисления исходного и преобразованного циклов с использованием функций матричного модуля. Исследовать зависимость коэффициента ускорения от числа ступеней конвейера и размерности массивов. Исходный цикл имеет следующий вид: DO 30 I=1,M DO 30 J=I,N DO 30 K=J,L A(I,J)=B(J,K)+C(I,J) 30 CONTINUE Метод координат. DIMENSION B(100,100),C(100,100),A(100,100),AA(100,100) DIMENSION TMP (100) S=50 N=10 DO 10 I=1,N DO 10 J=I,N DO 10 K=J,N A(I,J)=I B(J,K)=J*2-K C(I,J)=K-7+I*J 10 CONTINUE CSBEG DO 30 I=1,N DO 30 J=I,N DO 30 K=J,N A(I,J)=B(J,K)+C(I,J) 30 CONTINUE CSEND CPBEG DO 20 J=1,N CALL EADDVS(TMP,A(1,J),0.0,N) CALL EADDVV(TMP,B(J,1),C(I,J),N) CALL EADDVS(C(1,J),B(J,1),0.0,N) CALL EMULVV(B(J,1),TMP,TMP,N) 20 CONTINUE CPEND IFLAG=0 DO 40 I=1,N DO 40 J=1,N AA(I,J)=TMP(J) IF (A(I,J).NE.AA(I,J)) IFLAG=1 40 CONTINUE 50 FORMAT (' IFLAG= ',I1) WRITE(6,50) IFLAG STOP END В чем ошибка? |