Автор статьи
Валерия
Эксперт по сдаче вступительных испытаний в ВУЗах
- Изучить архитектур современных многоядерных процессоров.
- Изучить системные библиотеки для построения многопоточных программ.
- Выработать базовые навыки построения многопоточных программ.
- Написать многопоточную программу имитации работы клеточного автомата или изучаемых алгоритмов численного моделирования под GNU/Linux и Windows.
- Встроить в каждую из программ код измерения времени работы программы.
- Измерить время работы всех программ для различного количества потоков и нарисовать графики с результатами измерений в осях OX – количество потоков, OY – время работы с секундах.
- Выявить влияние способа векторизации на время выполнения всех версий программ и сделать выводы о достоинствах и недостатках каждого изученного способа векторизации.
- Сформулировать рекомендации по эффективному использованию SIMD расширений в счетных программах.
- Изучить базовый набор функций поддержки многопоточных программ POSIX Threads и функции работы с потоками в Win32/Win Изучить и сравнить средства синхронизации доступа к разделяемым ресурсам в этих двух интерфейсах.
- На базе оптимизированной последовательной программы из лабораторной работы №3 первого семестра построить многопоточную программу имитации работы клеточного автомата или изучаемых алгоритмов численного моделирования с использованием библиотеки POSIX Threads. Одним из параметров запуска программы должно быть количество потоков.
- На базе оптимизированной последовательной программы из предыдущей лабораторной работы построить многопоточную программу имитации работы клеточного автомата или изучаемых алгоритмов численного моделирования с использованием функций работы с потоками в Win32/Win Одним из параметров запуска программы должно быть количество потоков.
- Для проведения замеров времени исполнения программ моделирования клеточного автомата необходимо выбрать один размер массива, например, 1024×1024 и одно и то же количество шагов, например 4096 и исполнить каждую из программ на различных машинах с архитектурой x86, x86_64 (на процессорах с различным количеством ядер), Itanium, PowerPC. Определить ускорения многопоточных программ и сделать выводы об оптимальном количестве потоков для различных процессоров.
О сайте
Ссылка на первоисточник:
http://vvitig.ru/
Поделитесь в соцсетях: