лекции (OpenMP), страница 2

PDF-файл лекции (OpenMP), страница 2 Параллельное программирование для высокопроизводительных вычислительных систем (63916): Лекции - 11 семестр (3 семестр магистратуры)лекции (OpenMP) - PDF, страница 2 (63916) - СтудИзба2020-08-25СтудИзба

Описание файла

Файл "лекции" внутри архива находится в папке "OpenMP". PDF-файл из архива "OpenMP", который расположен в категории "". Всё это находится в предмете "параллельное программирование для высокопроизводительных вычислительных систем" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

Впоследние годы увеличение производительности процессорадостигается увеличением числа ядер, при этом частота каждогоядра не увеличивается. Наблюдается тенденция к сокращениюобъема оперативной памяти, приходящейся на одно ядро.Присущая OpenMP экономия памяти становится очень важна.Наличие локальных и/или разделяемых ядрами КЭШей будутучитываться при оптимизации OpenMP-программ компиляторами,что не могут делать компиляторы с последовательных языков дляMPI-процессов.Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.31 из 47История OpenMP199820022005OpenMPF/C/C++ 2.5199720112013OpenMPC/C++ 2.0OpenMPC/C++ 1.0OpenMPFortran 1.02008OpenMPF/C/C++ 3.0OpenMPFortran 1.11999Москва, 2015 г.OpenMPFortran 2.0Параллельное программирование с OpenMP: Введение© Бахтин В.А.OpenMPF/C/C++ 3.1OpenMPF/C/C++ 4.032 из 47OpenMP Architecture Review BoardAMDCrayFujitsuHPIBMIntelNECOracle CorporationTexas InstrumentsNVIDIAConvey ComputerST MicroelectronicsМосква, 2015 г.ANLASC/LLNLcOMPunityEPCCLANLNASARed HatRWTH Aachen UniversityTexas Advanced ComputingCenterSNL- Sandia National LabBSC - BarcelonaSupercomputing CenterПараллельное программирование с OpenMP: Введение© Бахтин В.А.33 из 47Компиляторы, поддерживающие OpenMPOpenMP 4.0: GNU gcc (4.9.0) Intel 15.0: Linux, Windows and MacOSOpenMP 3.1: Oracle Solaris Studio12.3: Linux and Solaris Cray: Cray XT series Linux environment LLVM: clang Linux and MacOSOpenMP 3.0: PGI 8.0: Linux and Windows IBM 10.1: Linux and AIX Absoft Pro FortranMP: 11.1 NAG Fortran Complier 5.3Предыдущие версии OpenMP: Lahey/Fujitsu Fortran 95PathScaleMicrosoft Visual Studio 2008 C++HPМосква, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.34 из 47Обзор основных возможностей OpenMPC$OMP FLUSHOpenMP:для написания#pragmaomp APIcriticalмногонитевых приложенийC$OMP THREADPRIVATE(/ABC/)CALL OMP_SET_NUM_THREADS(10)•Множество директив компилятора,CALLOMP_TEST_LOCK(LCK)наборфункциибиблиотеки системыподдержки, переменныеокруженияC$OMPMASTERCALL OMP_INIT_LOCK (LCK)C$OMP ATOMIC• Облегчает создание многонитиевыхC$OMP SINGLE PRIVATE(X)на Фортране,C и C++SETENV программOMP_SCHEDULE“STATIC,4”•Обобщение опыта созданияC$OMP PARALLEL DO ORDERED PRIVATE (A, B, C)C$OMP дляORDEREDпараллельных программSMP иDSMC$OMP PARALLEL REDUCTION (+: A,B) систем за последние 20 летC$OMP PARALLEL DO SHARED(A,B,C)C$OMP SECTIONS#pragma omp parallel for private(a, b)C$OMP PARALLEL COPYIN(/blk/)C$OMP DO LASTPRIVATE(XX)nthrds = OMP_GET_NUM_PROCS()Москва, 2015 г.C$OMP BARRIERomp_set_lock(lck)Параллельное программирование с OpenMP: Введение© Бахтин В.А.35 из 47Cимметричные мультипроцессорные системы(SMP)Все процессоры имеют доступ к любой точке памяти с одинаковойскоростью.Процессоры подключены к памяти либо с помощью общей шины,либо с помощью crossbar-коммутатора.Аппаратно поддерживается когерентность кэшей.Например, серверы HP 9000 V-Class, Convex SPP-1200,…Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.36 из 47Системы с неоднородным доступом к памяти(NUMA)Москва, 2015 г.Система состоит изоднородных базовых модулей(плат), состоящих изнебольшого числа процессорови блока памяти.Модули объединены спомощью высокоскоростногокоммутатора.Поддерживается единоеадресное пространство.Доступ к локальной памяти внесколько раз быстрее, чем кудаленной.Параллельное программирование с OpenMP: Введение© Бахтин В.А.37 из 47Системы с неоднородным доступом к памяти(NUMA)SGI Altix UV (UltraVioloet) 2000256 Intel® Xeon® processor E5-4600product family 2.4GHz-3.3GHz - 2048 Cores(4096 Threads)64 TB памятиNUMAlink6 (NL6; 6.7GB/s bidirectional)http://www.sgi.com/products/servers/uv/Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.38 из 47Top 500Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.39 из 47Top 500Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.40 из 47Intel Xeon Phi (Many Integrated Core - MIC)Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.41 из 47Литературahttp://www.openmp.org http://www.compunity.org http://www.parallel.ru/tech/tech_dev/openmp.htmlМосква, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.42 из 47ЛитератураАнтонов А.С.

Параллельное программирование сиспользованием технологии OpenMP: Учебное пособие.М.: Изд-во МГУ, 2009.http://parallel.ru/info/parallel/openmp/OpenMP.pdf Воеводин В.В., Воеводин Вл.В. Параллельныевычисления. - СПб.: БХВ-Петербург, 2002. Гергель В.П.

Теория и практика параллельныхвычислений. - М.: Интернет-Университет, БИНОМ.Лаборатория знаний, 2007.Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.43 из 47ЛитератураУчебные курсы Интернет Университета Информационныхтехнологий Гергель В.П. Теория и практика параллельных вычислений. —http://www.intuit.ru/department/calculate/paralltp/ Левин М.П. Параллельное программирование с OpenMPhttp://www.intuit.ru/department/se/openmp/Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.44 из 47Вопросы?Вопросы?Москва, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.45 из 47Следующая темаOpenMP – модель параллелизма по управлениюМосква, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.46 из 47КонтактыБахтин В.А., кандидат физ.-мат.

наук, заведующийсектором, Институт прикладной математики им.М.В.Келдыша РАНbakhtin@keldysh.ruМосква, 2015 г.Параллельное программирование с OpenMP: Введение© Бахтин В.А.47 из 47Интернет УниверситетСуперкомпьютерных технологийЛекция 2: OpenMP - модель параллелизмапо управлениюУчебный курсПараллельное программирование сOpenMPБахтин В.А., кандидат физ.-мат. наук,заведующий сектором,Институт прикладной математики им.М.В.Келдыша РАНСодержаниеВыполнение OpenMP-программы (Fork and JoinModel). Модель памяти.

Понятие консистентности памяти. Консистентность памяти в OpenMP (weak ordering). Классы переменных (клаузы SHARED, PRIVATE;директива THREADPRIVATE).Москва, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.2 из 36Выполнение OpenMP-программыFork-Join параллелизм: Главная (master) нить порождает группу (team) нитей по меренебходимости. Параллелизм добавляется инкрементально.Параллельные областиМосква, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.3 из 36Фрагмент программыint a, b, c, d, x, y;int *p, *q;int f(int *p, int *q);a = x * (x - 1);b = y * (y + 1);c = a * a + a * b + b * b;d = a * b * c;p = &a;q = &b;x = f(p, q);Москва, 2015 г.// переменные// указатели// прототип функции// a хранится в регистре// b хранится в регистре// будет использовано позднее// будет использовано позднее// получает адрес a// получает адрес b// вызов функцииПараллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.4 из 36Когерентность и консистентность памятиP0:W(x)aR(y)bP1: W(y)bR(y)bR(x)aПроцессорКэшВремяW(x)bПроцессорОперативнаяпамятьКэшОперативнаяпамятьСеть передачи данныхМосква, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.5 из 36Сеть передачи данныхПроизводительMPI latency, вмикросекундахBandwidth perlink(unidirectional,MB/s)NUMAlink 4 (Altix)SGI13400RapidArray (XD1)Cray1.82000QsNet IIQuadrics2900InfinibandVoltaire3.5830High PerformanceSwitchIBM51000Myrinet XP2Myricom5.7495SP Switch 2IBM18500Сеть передачиданныхEthernetVarious30http://www.sgi.com/products/servers/numalink.htmlМосква, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.1006 из 36Модели консистентности памятиМодель консистентности представляет собой некоторый договор междупрограммами и памятью, в котором указывается, что при соблюдениипрограммами определенных правил работа памяти будет корректной,если же требования к программе будут нарушены, то память негарантирует правильность выполнения операций чтения/записи.Далее рассматриваются основные модели консистентности.Москва, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.7 из 36Строгая консистентностьОперация чтения ячейки памяти с адресом X должна возвращатьзначение, записанное самой последней операцией записи с адресом X,называется моделью строгой консистентности.a) строгая консистентностьP0:ВремяW(x)aP1:R(x)aб) нестрогая консистентностьP0:ВремяW(x)aP1:R(x)NIL R(x)aМосква, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.8 из 36Последовательная консистентностьВпервые определил Lamport в 1979 г.

в контексте совместноиспользуемой памяти для мультипроцессорных систем.Результат выполнения должен быть тот-же, как если бы операторы всехпроцессоров выполнялись бы в некоторой последовательности, причемоперации каждого отдельного процесса выполнялись бы в порядке,определяемой его программой.Последовательная консистентность не гарантирует, что операция чтениявозвратит значение, записанное другим процессом наносекундой илидаже минутой раньше, в этой модели только точно гарантируется, что всепроцессы знают последовательность всех записей в память.Москва, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.9 из 36Последовательная консистентностьа) удовлетворяет последовательной консистентностиP1W(x)aP2W(x)bP3R(x)bP4R(x)aR(x)bR(x)aб) не удовлетворяет последовательной консистентностиP1P2P3P4Москва, 2015 г.W(x)aW(x)bR(x)bR(x)aR(x)aПараллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.R(x)b10 из 36Последовательная консистентностьРезультат повторного выполнения параллельной программы в системе споследовательной консистентностью может не совпадать с результатомпредыдущего выполнения этой же программы, если в программе нетрегулирования операций доступа к памяти с помощью механизмовсинхронизации.P1P2P3x=1;Print (y,z);y=1;Print(x,z);z=1;Print (x,y);x=1;x=1;y=1;y=1;Print (y,z);y=1;z=1;x=1;y=1;Print(x,z);Print (x,y);z=1;Print(x,z);Print (y,z);Print(x,z);Print(x,z);z=1;z=1;x=1;Print (y,z);Print (x,y);Print (x,y);Print (y,z);Print (x,y);0010111010110101111111111Москва, 2015 г.Параллельное программирование с OpenMP: OpenMP - модельпараллелизма по управлению © Бахтин В.А.11 из 36Причинная консистентностьПредположим, что процесс P1 модифицировал переменную x, затемпроцесс P2 прочитал x и модифицировал y.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
440
Средний доход
с одного платного файла
Обучение Подробнее