Содержание
Тенденции развития современных процессоров
Существующие подходы для создания параллельных программ
Основные возможности OpenMP
Литература
Тенденции развития современных процессоров
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Chip
MultiThreading
увеличили производительность процессора в 2 раза
Поток или нить (по-английски “thread”) – это легковесный процесс, имеющий с другими потоками общие ресурсы, включая общую оперативную память.
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
из 32
Вычисление числа π. Последовательная программа.
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Вычисление числа π с использованием MPI
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Вычисление числа π с использованием MPI
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Вычисление числа π с использованием Win32 API
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Вычисление числа π с использованием Win32 API
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Вычисление числа π c использованием OpenMP
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Процессоры AMD Opteron
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Для получения программы, способной работать на кластере, необходимо распределить данные и вычисления между процессорами.
После распределения данных требуется организовать межпроцессорные взаимодействия.
В данном случае - для доступа к удаленным данным используются “теневые” грани, которые являются источником дублирования данных.
из 32
из 32
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
C$OMP PARALLEL REDUCTION (+: A, B)
CALL OMP_INIT_LOCK (LCK)
CALL OMP_TEST_LOCK(LCK)
SETENV OMP_SCHEDULE “STATIC,4”
CALL CALL OMP_SET_NUM_THREADS(10)
C$OMP DO LASTPRIVATE(XX)
C$OMP ORDERED
C$OMP SINGLE PRIVATE(X)
C$OMP SECTIONS
C$OMP MASTER
C$OMP ATOMIC
C$OMP FLUSH
C$OMP PARALLEL DO ORDERED PRIVATE (A, B, C)
C$OMP THREADPRIVATE(/ABC/)
C$OMP PARALLEL COPYIN(/blk/)
nthrds = OMP_GET_NUM_PROCS()
C$OMP BARRIER
OpenMP: API для написания многонитевых приложений
Множество директив компилятора, набор функции библиотеки системы поддержки, переменные окружения
Облегчает создание многонитиевых программ на Фортране, C и C++
Обобщение опыта создания параллельных программ для SMP и DSM систем за последние 20 лет
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
из 32
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Контакты
Москва, 2008 г.
Параллельное программирование с OpenMP: Введение
© Бахтин В.А.
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть