Функции глобальных вычислений

Страницы работы

3 страницы (Word-файл)

Содержание работы

Лабораторная работа №8. Функции глобальных вычислений

Для решения задач следует использовать библиотеку MPI.Net, доступную на сайте http://www.osl.iu.edu/research/mpi.net/. Документация о библиотеке MPI.NET доступна по ссылке http://www.osl.iu.edu/research/mpi.net/documentation/reference/current/Index.html.

Для демонстрации разработанного приложения использовать не менее 10 процессов.

Задание

Функции глобальных вычислений

1.  В каждом процессе получить случайное число с помощью генератора случайных чисел. Произвести сложение полученных результатов, используя метод Intracommunicator.Reduce и свойство Operation<T>.Add. Конечный результат работы метода Reduce вывести на консоль в процессе с рангом 0.

2.  В каждом процессе получить случайное число с помощью генератора случайных чисел. Произвести умножение полученных результатов, используя метод Intracommunicator.AllReduce и свойство Operation<T>.Multiply. Конечный результат работы метода AllReduce вывести на консоль в процессе с рангом 0.

3.  Создать метод, производящий вычисления над целыми числами. Логика и характер исполняемых в методе операций определяются на усмотрение студента. Например, метод может выполнять вычисление факториала для переданного в метод параметра. В каждом процессе получить случайное число с помощью генератора случайных чисел. Произвести вычисления над полученными случайными числами, используя метод Intracommunicator.Reduce. При вызове метода Reduce передать ему делегат на созданный метод, как параметр типа ReductionOperation<T>. Конечный результат работы метода Reduce вывести на консоль в процессе с рангом 0.

4.  Создать метод, производящий вычисления над целыми числами. Логика и характер исполняемых в методе операций определяются на усмотрение студента. Например, метод может выполнять возведение в квадрат переданного в метод параметра. В каждом процессе получить случайное число с помощью генератора случайных чисел. Использовать созданный метод при проведении префиксного приведения массива случайных данных в процессах выполняющих программу, используя метод Intracommunicator.Scan. При вызове метода Scan передать делегат на созданный метод как параметр типа ReductionOperation<T>. Вывести на консоль результаты, полученные в процессе с рангом 0 и в процессе с самым большим рангом.

5.  В каждом процессе получить случайное число с помощью генератора случайных чисел. Произвести префиксное приведение полученного массива во всех процессах, используя метод Intracommunicator.Scan. При вызове метода передать в качестве делегата ReductionOperation<T> свойство Add класса Operation<T>. Вывести на консоль результаты, полученные в процессе с рангом 0 и в процессе с самым большим рангом.

6.  В каждом запущенном в окружении процессе получить случайное число с помощью генератора случайных чисел. Произвести префиксное приведение полученного массива во всех процессах, используя метод Intracommunicator.ExclusiveScan. При вызове метода передать делегат на свойство Max класса Operation<T>, как параметр типа ReductionOperation<T>. Вывести на консоль результаты, полученные в процессе с рангом 0 и в процессе с самым большим рангом.

Расчет значений по алгоритмам

1.  Произвести расчёт определённого интеграла , где  – функция, заданная на усмотрение студента. Границы определённого интеграла a и b также определяются по усмотрению студента. При расчёте рекомендуется воспользоваться свойством аддитивности интеграла: , где p – число процессов. Для реализации расчёта использовать средства MPI.NET.

2.  Произвести умножение двух двумерных матриц целых чисел по алгоритму Штрассена (http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%A8%D1%82%D1%80%D0%B0%D1%81%D1%81%D0%B5%D0%BD%D0%B0), используя средства MPI.NET. Данные для матриц выбираются на усмотрение студента.

3.  Осуществить сортировку массива целых чисел методом пузырька (http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC) в параллельном режиме, используя средства MPI.NET. Данные для массива выбираются на усмотрение студента.

Творческая часть: отсутствует.

Варианты

Вариант

Функции глобальных вычислений

Расчет значений по алгоритмам

1

2

3

4

5

6

1

2

3

1

×

×

×

2

×

×

×

3

×

×

×

4

×

×

×

5

×

×

×

6

×

×

×

7

×

×

×

8

×

×

×

9

×

×

×

10

×

×

×

×

11

×

×

×

×

12

×

×

×

×

13

×

×

×

14

×

×

×

15

×

×

×

×

16

×

×

×

17

×

×

×

18

×

×

×

19

×

×

×

20

×

×

×

Похожие материалы

Информация о работе