Главная страница

Многопоточное программирование


Скачать 128.85 Kb.
НазваниеМногопоточное программирование
АнкорACS_LabWork_4
Дата03.03.2023
Размер128.85 Kb.
Формат файлаpdf
Имя файлаACS_LabWork_4.pdf
ТипЛабораторная работа
#966573

Курс «Вычислительные системы» НГТУ, Кафедра ВТ, 2021 г.
Лабораторная работа № 4
Тема: многопоточное программирование.
Задание.
1. Для программы умножения двух квадратных матриц DGEMM BLAS разработанной в лабораторной работе №3 на языке С/С++ реализовать многопоточные вычисления. В потоках необходимо реализовать инициализацию массивов случайными числами типа double и равномерно распределить вычислительную нагрузку. Обеспечить возможность задавать размерность матриц и количество потоков при запуске программы.
Многопоточность реализовать несколькими способами.
1) С использованием библиотеки стандарта POSIX Threads.
2) С использованием библиотеки стандарта OpenMP.
3) *C использованием библиотеки Intel TBB.
4) **C использованием библиотеки стандарта MPI. Все матрицы помещаются в общей памяти одного вычислителя.
5) ***C использованием технологий многопоточности для графических сопроцессоров (GPU) - CUDA/OpenCL/OpenGL/OpenACC.
2. Для всех способов организации многопоточности построить график зависимости коэффициента ускорения многопоточной программы от числа потоков для заданной размерности матрицы, например, 5000, 10000 и 20000 элементов.
3. Определить оптимальное число потоков для вашего оборудования.
4. Подготовить отчет отражающий суть, этапы и результаты проделанной работы.


написать администратору сайта