Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Расчетное задание / КМ3 / ТФ-11-19 Рыжков М.В. Вариант 16

.pdf
Скачиваний:
2
Добавлен:
16.05.2024
Размер:
705.88 Кб
Скачать

IPVT2, RJ, IPATH2, AINV(1,J), RES) RJ(J) = 0.0E0 20 CONTINUE

!Вывод результатов

!CALL WRRRN ('AINV', N, N, AINV, N, 0)

! 99999 FORMAT (' RCOND = ',F5.3,/,' L1 Condition number = ',F6.3)

! Решение исходного уравнения

CALL LSLRB (N, A, LDA, NLCA3, NUCA3, B, IPATH3, X) ! Вывод результатов

!CALL WRRRN ('X', 1, N, X, 1, 0) END DO

T=Timef()

PRINT *,' TIME: ',T end program one

21

10. Листинг программы двойной точности

program double implicit none

INTEGER*4 IPATH, LDA, LDFAC, N, NLCA, NUCA, IPATH2, LDFAC2, NLCA2, NUCA2, NOUT, IPATH3, NLCA3, NUCA3, j, k, i

PARAMETER (IPATH=1, LDA=7, LDFAC=10, N=8, NLCA=3, NUCA=3, IPATH2=1, LDFAC2=10, NLCA2=3, NUCA2=3, IPATH3=1, NLCA3=3, NUCA3=3)

INTEGER

IPVT(N), IPVT2(N)

REAL*8

A(LDA,N),z(N,4) , p(11000000,8)

REAL*8

FAC2(LDFAC,N), RCOND, FAC(LDFAC,N)

REAL*8

X(N,2), RES(N), AINV(N,N), B(N,4), RJ(N)

REAL T,Timef

EXTERNAL DLFTRB, DLFSRB, DWRRRN, DLFCRB, DLFIRB, DSET, UMACH, DLSLRB T=Timef()

do i=1,11000000 do j=1,8

p(i,j) = i+j END DO

END DO

do i = 1,10500000,7 do j = 1,8,1

A(1,j)=p(i,j)

A(2,j)=p(i+1,j)

A(3,j)=p(i+2,j)

A(4,j)=p(i+3,j)

A(5,j)=p(i+4,j)

A(6,j)=p(i+5,j)

A(7,j)=p(i+6,j) END DO

!Зададим правую часть линейной системы

DO k=1,N

DO j=1,4

B(k,j)= j+k END DO

END DO

!решение исходного уравнения

CALL DLFTRB (N, A, LDA, NLCA, NUCA, FAC, LDFAC, IPVT)

!решение для правых сторон

DO 10 J=1, 4

CALL DLFSRB (N, FAC, LDFAC, NLCA, NUCA, IPVT, B(1,J), IPATH,

X(1,J))

10 CONTINUE

!вывод результатов

!CALL DWRRRN ('X', N, 2, X, N, 0) !решение исходного уравнения

CALL DLFCRB (N, A, LDA, NLCA2, NUCA2, FAC2, LDFAC2, IPVT2, RCOND)

!Вывод оценки числа обусловленности

!CALL UMACH (2, NOUT)

!WRITE (NOUT,99999) RCOND, 1.0E0/RCOND

CALL DSET (N, 0.0E0, RJ, 1)

DO 20 J=1, N

22

RJ(J) = 1.0E0

CALL DLFIRB (N, A, LDA, NLCA2, NUCA2, FAC2, LDFAC2, IPVT2, RJ, IPATH2, AINV(1,J), RES)

RJ(J) = 0.0E0 20 CONTINUE

!вывод результатов

!CALL DWRRRN ('AINV', N, N, AINV, N, 0)

!99999 FORMAT (' RCOND = ',F5.3,/,' L1 Condition number = ',F6.3) !решение исходного уравнения

CALL DLSLRB (N, A, LDA, NLCA3, NUCA3, B, IPATH3, X)

!вывод результатов

!CALL DWRRRN ('X', 1, N, X, 1, 0)

END DO

T=Timef()

PRINT *,' TIME: ',T

end program double

11.Результаты измерений времени выполнения расчета

Параметры системы:

Операционная система: Windows 10 Корпоративная LTSC (10.0, Build 17763) Тип системы: 64-разрядная ОС, процессор х64

Модель ПК: Lenovo G70-80 (LENOVO 80FF)

Процессор: Название: Intel(R) Core(TM) i3-5020U CPU @ 2.20GHz

Установленная память (ОЗУ): 16,00 Гб Количество ядер: 2 Количество логических процессоров: 4

Результаты

Описание

 

Время ,с

измерений

 

 

 

 

 

 

 

 

 

A

Расчет в режиме debug с

 

87,593

 

одинарной точностью

 

 

 

 

 

 

 

 

B

Расчет в оптимизированном

 

70,623

 

режиме с одинарной точностью.

 

 

 

C

Расчет в оптимизированном

 

95,698

 

режиме с двойной точностью

 

 

 

 

 

 

 

 

D

 

87.214

 

87.568

 

 

87.633

 

87.532

 

 

87.827

 

87.762

 

 

87.655

 

87.811

 

 

87.728

 

87.621

 

 

87.670

 

87.711

 

 

87.625

 

87.687

 

 

87.705

 

87.624

 

 

87.566

 

87.812

 

 

87.448

 

87.543

 

 

87.521

 

87.445

 

 

87.718

 

87.512

 

23

 

 

 

 

 

87.771

87.711

 

 

87.863

87.764

 

 

87.644

87.834

 

 

87.506

87.667

 

 

87.443

87.555

 

 

87.833

87.433

 

 

87.773

87.849

 

 

87.561

87.714

 

a)Расчет на одном и том же

87.638

87.591

 

87.825

87.673

 

компьютере одной версии

 

87.437

87.875

 

программы с одинарной

 

87.864

87.421

 

точностью в debug режиме

 

(первая колонка с 1 до 45,

87.540

87.857

 

вторая с 46 до 90)

87.696

87.356

 

 

87.751

87.774

 

 

87.738

87.214

 

 

87.463

87.743

 

 

87.480

87.412

 

 

87.516

87.497

 

 

87.662

87.543

 

 

87.881

87.679

 

 

87.449

87.678

 

 

87.765

87.484

 

 

87.558

87.385

 

 

87.759

87.588

 

 

87.496

87.743

 

 

87.612

87.478

 

 

87.523

87.699

 

 

87.744

87.532

 

 

87.475

87.650

 

 

87.771

87.481

 

 

87.655

87.756

 

 

87.518

87.450

 

 

 

 

 

 

70.633

70.555

 

 

70.827

70.650

 

 

70.655

70.891

 

 

70.728

70.659

 

 

70.665

70.664

 

 

70.625

70.763

 

 

70.655

70.671

 

 

70.566

70.549

 

 

70.448

70.614

 

 

70.521

70.379

 

 

70.718

70.509

 

 

70.771

70.793

 

 

70.863

70.707

 

 

70.644

70.812

 

 

70.506

70.674

 

24

 

 

 

 

70.443

70.505

 

 

70.833

70.450

 

 

70.773

70.837

 

 

70.561

70.611

 

b) Расчет на одном и том же

70.638

70.553

 

компьютере одной версии

70.825

70.698

 

программы с одинарной

70.437

70.793

 

точностью в

70.864

70.454

 

оптимизированном режиме

70.540

70.674

 

(первая колонка с 1 до 45,

 

70.696

70.709

 

вторая с 46 до 90)

 

70.751

70.632

 

 

 

 

70.738

70.743

 

 

70.463

70.655

 

 

70.480

70.408

 

 

70.516

70.431

 

 

70.662

70.513

 

 

70.881

70.652

 

 

70.449

70.799

 

 

70.765

70.396

 

 

70.558

70.754

 

 

70.759

70.590

 

 

70.496

70.509

 

 

70.612

70.501

 

 

70.523

70.589

 

 

70.744

70.593

 

 

70.475

70.659

 

 

70.771

70.553

 

 

70.655

70.806

 

 

70.568

70.557

 

 

70.782

70.489

 

 

 

 

 

 

 

 

 

 

95,228

95,302

 

 

95,541

95,313

 

 

95,383

95,275

 

 

95,465

95,125

 

 

95,248

95,262

 

 

95,286

95,509

 

 

95,6

95,216

 

 

95,202

95,552

 

 

95,205

95,319

 

 

95,227

95,237

 

 

95,322

95,562

 

 

95,345

95,346

 

 

95,108

95,578

 

c) Расчет на одном и том же

95,536

95,232

 

95,422

95,428

 

компьютере одной версии

 

95,27

95,479

 

программы с двойной

 

95,475

95,371

 

 

 

25

 

 

точностью в оптимизированном режиме (первая колонка с 1 до 45, вторая с 46 до 90)

95,524

95,459

95,409

95,274

95,279

95,563

95,464

95,214

95,389

95,337

95,452

95,587

95,317

95,383

95,312

95,149

95,3

95,347

95,516

95,442

95,119

95,297

95,32

95,328

95,472

95,173

95,5

95,418

95,434

95,461

95,366

95,274

95,398

95,231

95,221

95,137

95,551

95,496

95,315

95,22

95,163

95,156

95,421

95,301

95,415

95,179

95,568

95,538

95,376

95,373

95,21

95,148

95,33

95,139

95,27

95,244

95,228

95,302

95,275

95,313

 

 

Таблица 5. Время выполнения параллельных расчетов.

Расчет

Версия ОС

Число программ

Описание

Время, с

 

 

2

 

75.311

 

 

 

75.988

 

 

 

 

 

 

 

 

 

 

 

 

 

76.267

 

 

3

 

77.376

 

 

 

 

78.064

 

 

26

 

 

E

Windows 10

4

Параллельный расчет в

 

 

 

оптимизированном

 

 

 

режиме одинарная

 

 

 

точность

 

 

5

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

8

 

 

 

 

 

78.599

79.275

79.572

80.322

80.451

81.560

82.990

83.311

83.865

82.845

85.361

84.798

86.628

87.846

87.331

92.416

89.356

90.480

91.854

90.730

93.527

93.900

99.343

95.612

96.266

97.032

98.517

97.720

99.408

100.440

27

12.Список литературы

1.Ю. Б. Воробьев Методические указания по проведению лабораторных работ по дисциплине "Компьютерные и сетевые технологии ЯЭ".

2.IMSL. Math Library. Volumes 1 and 2.

3.О. В. Бартеньев «Фортран для профессионалов. Математическая библиотека

IMSL»

4.Л. С. Шихобалов «Матрицы и определители».

28

Соседние файлы в папке КМ3