Skip to content

Некоторые задачи на MPI и OpenMP фреймворках

Notifications You must be signed in to change notification settings

st1gmat/highperf_tasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

Задача 1: Вывод сообщения из каждого потока

Необходимо написать программу, которая будет запускать несколько потоков и выводить сообщение из каждого потока по отдельности на экран.

Задача 2: Подсчет суммы массива чисел

Требуется написать программу для подсчета суммы элементов массива чисел различных размеров и показать зависимость времени выполнения программы от количества чисел в массиве (10, 1000, 10000000).

Задача 3: Подсчет производной функции от двух переменных

Необходимо написать программу для подсчета производной функции от двух переменных, заданной на сетке. Для этого дан двумерный массив, каждый элемент которого A[i][j] = f(i, j). Требуется построить массив B[i][j] = df(i, j)/dx или df(i, j)/dy (на ваш выбор). Функция f(x, y) произвольная, но не тривиальная. Показать зависимость времени работы от размера входных данных.

Задача 4: Подсчет произведения двух матриц

Необходимо написать программу для подсчета произведения двух матриц и показать зависимость времени работы от размера входных данных.

OpenMP

Задача 2

Размер вх. данных Время(сек)
10 1.35e-05
1000 1.4e-05
10000000 0.0065552

Задача 3

Размер вх. данных Время(сек)
10 0.0037557
1000 0.0119235
10000 0.675213

Задача 4

Размер вх. данных Время(сек)
100 0.0080221
500 0.746562
1000 4.63799

MPI

Задача 2

mpiexec -n <колво_процессов> ./<имя_файла>.exe

Размер массива: 10

Кол-во процессов Время(сек)
2 0.000181
3 0.0002232
4 0.0003335
5 0.0003664

Размер массива: 1000

Кол-во процессов Время(сек)
2 0.0001171
3 0.0001537
5 0.0003354
10 0.0006443
20 0.0017036

Размер массива: 10000000

Кол-во процессов Время(сек)
2 0.0175901
3 0.0121747
4 0.0254819
5 0.0230918
10 0.0078606
20 0.0777248

Задача 3

Размер массива: 10

Кол-во процессов Время(сек)
2 0.0003077
3 0.0003607
4 0.0005519

Размер массива: 1000

Кол-во процессов Время(сек)
2 0.0052412
3 0.0048752
5 0.0053172
10 0.0062099
20 0.0155546

Размер массива: 10000

Кол-во процессов Время(сек)
2 0.472329
3 0.414501
4 0.489604
5 0.473082
10 3.21824

Задача 4

Размер массива: 100 x 100

Кол-во процессов Время(сек)
2 0.0016764
3 0.0020564
4 0.0020013
5 0.0014527
10 0.0017226
20 0.0025408
50 0.0085689

Размер массива: 500 x 500

Кол-во процессов Время(сек)
2 0.183746
3 0.128942
4 0.125219
5 0.076941
10 0.0639516
20 0.064275
25 0.0727687
30 0.0737633
50 0.115738

Размер массива: 1000 x 1000

Кол-во процессов Время(сек)
2 1.53096
3 1.14672
4 0.937514
5 0.779792
10 0.668908
15 0.659569
20 0.65866
25 0.69918
50 0.71631
100 1.62277

About

Некоторые задачи на MPI и OpenMP фреймворках

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages