Регистрация
Среда программирования: MS Visual Studio 2010 - MPI, OpenMP
Название работы: Технология OpenMP - 11 заданий. Технология MPI - 6 заданий.
Вид работы: Лабораторная работа
Описание: Технология OpenMP
Задание 1. Создайте проект в среде MS Visual Studio 2010 с поддержкой OpenMP.
Задание 2. Напишите OpenMP-программу, в которой создается 4 нити и каждая нить выводит на экран строку «Hello World!».
Задание 3. Посетите сайт http://www.openmp.org/ найдите текущую версию OpenMP. Опишите модель параллельных вычислений с помощью технологии OpenMP (в тетради).
Задание 4. Напишите программу, в которой создается k нитей, и каждая нить выводит на экран свой номер и общее количество нитей в параллельной области в формате: I am <Номер нити> thread from <Количество нитей> threads!
Задание 5. Модифицируйте программу таким образом, чтобы строку I am <Номер нити> thread from <Количество нитей> threads! выводили только нити с четным номером.
Задание 6. Изучите конструкции для управления работой с данными shared и private. Напишите программу, в которой создается k нитей, и каждая нить выводит на экран свой номер через переменную rank следующим образом: rank = omp_get_thread_num(); printf("I am %d thread.\n", rank);
Экспериментами определите, общей или частной должна быть переменная rank.
Задание 7. Напишите программу, в которой две нити параллельно вычисляют сумму чисел от 1 до N. Распределите работу по нитям с помощью оператора if языка С. Для сложения результатов вычисления нитей воспользуйтесь OpenMP-параметром reduction.
Задание 8. Изучите OpenMP-директиву параллельного выполнения цикла for. Напишите программу, в которой k нитей параллельно вычисляют сумму чисел от 1 до N. Распределите работу по нитям с помощью OpenMP-директивы for. При этом каждая нить выводит свою частичную сумму в формате «[Номер_нити]: Sum = <частичная_сумма>», один раз выводится общая сумма в формате «Sum = <сумма>».
Задание 9. Изучите параметр schedule директивы for. Модифицируйте программу «Сумма чисел» из задания 6 таким образом, чтобы дополнительно выводилось на экран сообщение о том, какая нить, какую итерацию цикла выполняет: [<Номер нити>]: calculation of the iteration number <Номер итерации>.
Задание 10. Перепишите программу, в которой параллельно вычисляется сумма чисел от 1 до N, без использования параметра reduction. Вместо параметра reduction используйте директиву atomic.
Задание 11. Распараллеливание циклов в OpenMP: программа «Матрица» Напишите OpenMP-программу, которая вычисляет произведение двух квадратных матриц 𝐵 × 𝐶 = С размера 𝑛 × 𝑛.
Технология MPI
Задание 1. Установить и настроить MPI.
Задание 2. Настроить среду MS Visual Studio для работы с MPI. Написать программу вывода на экран строки «Hello World!». Протестировать работу программы с помощью среды MPICH2.
Задание 3. Напишите программу, в которой каждый процесс выводит на экран свой номер и общее количество процессов в приложении в формате:
I am <Номер процесса> process from <Количество процессов> processes!
Задание 4. Напишите программу, в которой каждый процесс с четным номером выводит на экран строку «I am <Номер процесса>: FIRST!», а каждый процесс с нечетным номером – «I am <Номер процесса>: SECOND!». Процесс с номером 0 должен вывести на экран общее количество процессов в приложении в формате «<Количество процессов> processes.».
Задание 5. Изучите основные MPI-функции блокирующей передачи сообщений точка-точка MPI_Send и MPI_Recv. Напишите MPI-программу, в которой с помощью данных функций процесс с номером 0 отправляет сообщение процессу с номером 1. Процесс 1 выводит полученное сообщение на экран.
Задание 6. Напишите MPI-программу, реализующую при помощи блокирующих функций посылки сообщений типа точка-точка схему коммуникации процессов «эстафетная палочка», в которой каждый процесс дожидается сообщения от предыдущего и потом посылает следующему. В качестве передаваемого сообщения используйте на процессе 0 его номер, на остальных процессах – инкрементированное полученное сообщение.
Год: 2019
Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2019-м году, в рамках этого заказа была разработана программа в среде программирования MS Visual Studio 2010 - MPI, OpenMP. Если у Вас похожее задание на программу, которую нужно написать на MS Visual Studio 2010 - MPI, OpenMP, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2019-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Тел.: ![]() Viber: ![]() Telegram: ![]() ВКонтакте: ![]() ![]() E-mail: ![]() Skype: ![]() |