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

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

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

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

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

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

Все остальныенити будут дожидатьсярезультатов выполнения блока,если не указана клауза NOWAIT.Москва, 2015 г.#include <stdio.h>float x, y;#pragma omp threadprivate(x, y)void init() {#pragma omp single copyprivate(x,y)scanf("%f %f", &x, &y);}int main () {#pragma omp parallel{init ();parallel_work ();}}Параллельное программирование с OpenMP: Конструкциираспределения работы © Бахтин В.А.38 из 42Распределение операторов одного структурного блокамежду нитями (директива WORKSHARE).SUBROUTINE EXAMPLE (AA, BB, CC, DD, EE, FF, GG, HH, N)INTEGER NREAL AA(N,N), BB(N,N), CC(N,N)REAL DD(N,N), EE(N,N), FF(N,N)REAL GG(N,N), HH(N,N)REAL SHR!$OMP PARALLEL SHARED(SHR)!$OMP WORKSHAREAA = BBCC = DDWHERE (EE .ne.

0) FF = 1 / EESHR = 1.0GG (1:50,1) = HH(11:60,1)HH(1:10,1) = SHR!$OMP END WORKSHARE!$OMP END PARALLELEND SUBROUTINE EXAMPLEМосква, 2015 г.Параллельное программирование с OpenMP: Конструкциираспределения работы © Бахтин В.А.39 из 42Спасибо за внимание!Вопросы?Москва, 2015 г.Параллельное программирование с OpenMP: Конструкциираспределения работы © Бахтин В.А.40 из 42Следующая темаКонструкции для синхронизации нитейМосква, 2015 г.Параллельное программирование с OpenMP: Конструкциираспределения работы © Бахтин В.А.41 из 42КонтактыБахтин В.А., кандидат физ.-мат. наук, заведующийсектором, Институт прикладной математики им.М.В.Келдыша РАНbakhtin@keldysh.ruМосква, 2015 г.Параллельное программирование с OpenMP: Конструкциираспределения работы © Бахтин В.А.42 из 42Использование OpenMP на кластереБахтин Владимир АлександровичАссистент кафедры системного программированнияфакультета ВМК, МГУ им.

М. В. ЛомоносоваК.ф.-м.н., зав. сектором Института прикладнойматематики им М.В.Келдыша РАНМосква, 2015 г.Содержание Современные вычислительные системы Технология Intel Cluster OpenMP Гибридная модель MPI/OpenMP8 декабряМосква, 2015Использование OpenMP на кластере2 из 84Top 5008 декабряМосква, 2015top500.org3 из 84Top 5008 декабряМосква, 2015top500.org4 из 84Гибридная вычислительная система K-100…Node 18 декабряМосква, 2015Node 64Использование OpenMP на кластере5 из 84Содержание Современные вычислительные системы Технология Intel Cluster OpenMP Гибридная модель MPI/OpenMP8 декабряМосква, 2015Использование OpenMP на кластере6 из 84Технология Intel Cluster OpenMPВ 2006 году в Intel® компиляторах версии 9.1 появилась поддержкаCluster OpenMP. Технология Cluster OpenMP поддерживает выполнение OpenMPпрограмм на нескольких вычислительных узлах, объединенных сетью. Базируется на программной реализации DSM (Thread Marks softwareby Rice University).Для компилятора Intel® C++: icc -cluster-openmp options source-file icc -cluster-openmp-profile options source-fileДля компилятора Intel® Fortran: ifort -cluster-openmp options source-file ifort -cluster-openmp-profile options source-filekmp_cluster.ini--hostlist=home,remote --process_threads=28 декабряМосква, 2015Intel Cluster OpenMP7 из 84Модель памяти в OpenMP001Нить001Нить001Нить8 декабряМосква, 2015Intel Cluster OpenMPМодель памяти в OpenMP… = i + 3;statici =int1 i = 0;#pragma omp flush (i)i=1#pragma omp flush (i)i =ii =i=+011;Нить001 1Нить001 0… = i + 2; // ?8 декабряМосква, 2015Intel Cluster OpenMPКонсистентность памяти в OpenMPКорректная последовательность работы нитей с переменной:Нить0 записывает значение переменной - write(var)Нить0 выполняет операцию синхронизации – flush (var)Нить1 выполняет операцию синхронизации – flush (var)Нить1 читает значение переменной – read (var)Директива flush:#pragma omp flush [(list)] - для Си!$omp flush [(list)] - для Фортран8 декабряМосква, 2015Intel Cluster OpenMPКонсистентность памяти в OpenMP1.2.3.Если пересечение множеств переменных, указанных в операциях flush,выполняемых различными нитями не пустое, то результат выполненияопераций flush будет таким, как если бы эти операции выполнялись внекоторой последовательности (единой для всех нитей).Если пересечение множеств переменных, указанных в операциях flush,выполняемых одной нитью не пустое, то результат выполнения операцийflush, будет таким, как если бы эти операции выполнялись в порядкеопределяемом программой.Если пересечение множеств переменных, указанных в операциях flush,пустое, то операции flush могут выполняться независимо (в любомпорядке).8 декабряМосква, 2015Intel Cluster OpenMPКонсистентность памяти в OpenMP#pragma omp flush [(список переменных)]По умолчанию все переменные приводятся в консистентное состояние (#pragmaomp flush):при барьерной синхронизации;при входе и выходе из конструкций parallel, critical и ordered;при выходе из конструкций распределения работ (for, single,sections, workshare), если не указана клауза nowait;при вызове omp_set_lock и omp_unset_lock;при вызове omp_test_lock, omp_set_nest_lock,omp_unset_nest_lock и omp_test_nest_lock, если изменилосьсостояние семафора.При входе и выходе из конструкции atomic выполняется #pragma omp flush(x),где x – переменная, изменяемая в конструкции atomic.8 декабряМосква, 2015Intel Cluster OpenMPПреимущества Intel Cluster OpenMPУпрощает распределение последовательного или OpenMP кода поузлам.Позволяет использовать одну и ту же программу дляпоследовательных, многоядерных и кластерных систем.Требует совсем незначительного изменения кода программы, чтоупрощает отладку.Позволяет слегка измененной OpenMP-программе выполняться набольшем числе процессоров без вложений в аппаратнуюсоставляющую SMP.Представляет собой альтернативу MPI, которая может быть быстрееосвоена и применена.8 декабряМосква, 2015Intel Cluster OpenMP13 из 84Директива SHARABLE#pragma intel omp sharable ( variable [, variable …] ) – для Си и Си++!dir$ omp sharable ( variable [, variable …] ) - для Фортранаопределяют переменные, которые должны быть помещены вDistributed Virtual Shared MemoryВ компиляторе существуют опции, которые позволяют изменить класспеременных, не изменяя текст программы:[-no]-clomp-sharable-argexprs[-no]-clomp-sharable-commons[-no]-clomp-sharable-localsaves[-no]-clomp-sharable-modvars8 декабряМосква, 2015Intel Cluster OpenMP14 из 84Работа с SHARABLE- переменными8 декабряМосква, 2015Intel Cluster OpenMP15 из 84Использование Intel Cluster OpenMPЦелесообразно: если программа дает хорошее ускорение при использовании технологииOpenMP:Speedup = Time(1thread)/Time (n threads) = ~n еcли программа требует малой синхронизации данные в программе хорошо локализованыНаиболее целесообразно для задач (RMS - recognition, mining, andsynthesis): Обработка больших массивов данных Рендеринг в графике Поиск Распознавание образов Выделение последовательностей в генетике8 декабряМосква, 2015Intel Cluster OpenMP16 из 84Использование Intel Cluster OpenMP1.

a particle-simulation code2. a magneto-hydro-dynamics code3. a computational fluid dynamics code4. a structure-simulation code8 декабряМосква, 20155. a graph-processing code6. a linear solver code7. an x-ray crystallography codeIntel Cluster OpenMP17 из 84Содержание Современные вычислительные системы Технология Intel Cluster OpenMP Гибридная модель MPI/OpenMP8 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP18 из 84Гибридная модель MPI/OpenMPДанныеВычисленияMPICoreДанныеДанныеВычисленияВычисленияOpenMPOpenMPCore … CoreУзел 08 декабряМосква, 2015CoreCore … CoreУзел NГибридная модель программирования MPI/OpenMP19 из 84Достоинства использования в узлахOpenMP вместо MPI Возможность инкрементального распараллеливания. Упрощение программирования и эффективность нанерегулярных вычислениях, проводимых над общимиданными. Ликвидация или сокращение дублирования данных впамяти, свойственного MPI-программам. Дополнительный уровень параллелизма на OpenMPреализовать проще, чем на MPI.8 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP20 из 84Преимущества OpenMP длямногоядерных процессоров Объемы оперативной памяти и кэш памяти,приходящиеся в среднем на одно ядро, будутсокращаться – присущая OpenMP экономия памятистановится очень важна. Ядра используют общую Кэш-память, что требуетсяучитывать при оптимизации программы.8 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP21 из 84National Institute for ComputationalSciences.

University of TennesseeСуперкомпьютер Kraken Cray XT5-HE Opteron Six Core 2.6 GHzhttp://nics.tennessee.eduПиковая производительность – 1173.00 TFlop/sЧисло ядер в системе — 112 800Производительность на Linpack – 919.1 TFlop/s (78% от пиковой)Updrage: замена 4-х ядерных процессоров AMD Opteron на 6-ти ядерныепроцессоры AMD OpteronРезультат: 6-ое место в TOP500 в июне 2009 - 3-ье место в TOP500 вноябре 20098 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP22 из 84National Institute for ComputationalSciences.

University of TennesseeСуперкомпьютер Kraken Cray XT5-HE Opteron Six Core 2.6 GHzhttp://nics.tennessee.eduПиковая производительность – 1173.00 TFlop/sЧисло ядер в системе — 112 800Производительность на Linpack – 919.1 TFlop/s (78% от пиковой)Updrage: замена 4-х ядерных процессоров AMD Opteron на 6-ти ядерныепроцессоры AMD OpteronРезультат: 6-ое место в TOP500 в июне 2009 - 3-ье место в TOP500 вноябре 20098 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP23 из 84Межведомственный СуперкомпьютерныйЦентр Российской Академии НаукСуперкомпьютер MVS-100Khttp://www.jscc.ru/Пиковая производительность – 227,94 TFlop/sЧисло ядер в системе — 13 004Производительность на Linpack – 119,93 TFlop/s (52.7% от пиковой)Updrage: замена 2-х ядерных процессоров Intel Xeon 53xx на 4-х ядерныепроцессоры Intel Xeon 54xxРезультат: 57-ое место в TOP500 в июне 2008 - 36-ое место в TOP500 вноябре 20088 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP24 из 84Oak Ridge National LaboratoryСуперкомпьютер Jaguar Cray XT5-HE Opteron Six Core 2.6 GHzhttp://computing.ornl.govПиковая производительность - 2627 TFlop/sЧисло ядер в системе — 298 592Производительность на Linpack - 1941 TFlop/s (73.87% от пиковой)Updrage: замена 4-х ядерных процессоров AMD Opteron на 6-ти ядерныепроцессоры AMD OpteronРезультат: 2-ое место в TOP500 в июне 2009 - 1-ое место в TOP500 вноябре 20098 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP25 из 84Oak Ridge National LaboratoryJaguar Scheduling PolicyMINCoresMAXCoresMAXIMUMWALL-TIME(HOURS)120 0008 декабряМосква, 20152440 008119 99924500440 0071220045003612 0032Гибридная модель программирования MPI/OpenMP26 из 84Cray MPI: параметры по умолчаниюMPI Environment Variable Name 1,000 PEs10,000 PEs50,000 PEs100,000 PesMPICH_MAX_SHORT_MSG_SIZE(This size determines whetherthe message uses the Eager orRandervous protocol)128,000Bytes20,48040962048MPICH_UNEX_BUFFER_SIZE(The buffer allocated to hold theunexpected Eager data)60 MB60 MB150 MB260 MBMPICH_PTL_UNEX_EVENTS20,480(Portals generates two events for eventseach unexpected messagereceived)22,000110,000220,000MPICH_PTL_OTHER_EVENTS(Portals send-side and expectedevents)250012,50025,0008 декабряМосква, 20152048eventsГибридная модель программирования MPI/OpenMP27 из 84Тесты NAS8 декабряМосква, 2015BT3D Навье-Стокс, метод переменных направленийCGОценка наибольшего собственного значениясимметричной разреженной матрицыEPГенерация пар случайных чисел ГауссаFTISLUБыстрое преобразование Фурье, 3D спектральныйметодПараллельная сортировка3D Навье-Стокс, метод верхней релаксацииMG3D уравнение Пуассона, метод MultigridSP3D Навье-Стокс, Beam-Warning approximatefactorizationГибридная модель программирования MPI/OpenMP28 из 84Тесты NASAnalyzing the Effect of Different Programming Models Upon Performanceand Memory Usage on Cray XT5 Platformshttps://www.nersc.gov/assets/NERSC-Staff-Publications/2010/Cug2010Shan.pdf8 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP29 из 84Тесты NASAnalyzing the Effect of Different Programming Models Upon Performanceand Memory Usage on Cray XT5 Platformshttps://www.nersc.gov/assets/NERSC-Staff-Publications/2010/Cug2010Shan.pdf8 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP30 из 84Тесты NASAnalyzing the Effect of Different Programming Models Upon Performanceand Memory Usage on Cray XT5 Platformshttps://www.nersc.gov/assets/NERSC-Staff-Publications/2010/Cug2010Shan.pdf8 декабряМосква, 2015Гибридная модель программирования MPI/OpenMP31 из 84Тесты NAS (класс B)9080Время выполнения, в сек706050403020100MPIOpenMPCG55,9152,02EP5,276,92FT36,8419,14IS2,11,13LU82,2764,82MG7,818,8Суперкомпьютер MVS-100Kmvapich 1.2Intel compiler, v.

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