Учебное пособие москва мади 2020 ббк 32. 81 В 683 Волосова, А. В. В683



Download 5,19 Mb.
Pdf ko'rish
bet82/101
Sana16.10.2022
Hajmi5,19 Mb.
#853454
TuriУчебное пособие
1   ...   78   79   80   81   82   83   84   85   ...   101
Bog'liq
fel20E533


 
14.2. Использование традиционных последовательных языков 
(системы программирования OpenMP, DVM, mpC) 
Использования 
в 
традиционных 
языках 
программирования 
специальных комментариев, добавляющих "параллельную" специфику в 
изначально последовательные программы. Это спецкомментарии для 
компилятора. Использование спецкомментариев добавляет возможность 
параллельного исполнения и полностью сохраняет исходный вариант 


142 
программы. Это – один из подходов к разработке эффективного 
параллельного программного обеспечения. В рамках подхода рассмотрим 
три системы программирования OpenMP, DVM, mpC 
 
14.2.1. OpenMP 
В рассматриваемом стандарте соответствующая алгоритму решения 
последовательная программа служит основой для применения параллельных 
вычислений. Для этого используются директивы, процедуры и переменные 
окружения. Стандарт ОреnМР разработан для языков Fortran (77, 90, и 95), С 
и С++. Технология ОреnМР опирается на понятие общей памяти, и поэтому 
она, в значительной степени, ориентирована на SМР-компьютеры. На 
подобных архитектурах возможна эффективная поддержка нитей, 
исполняющихся на различных процессорах, что позволяет избежать 
значительных накладных расходов на поддержку классических UNIХ-
процессов. Термин «нить» следует понимать как легковесный процесс, 
поток. На рис. 52 представлен процесс исполнения программы. Текст 
программы делится на последовательные и параллельные секции. Затем 
инициируется нить-мастер, которая обеспечивает выполнение программы. 
Рис. 52. Разбиение текста программы на последовательные и параллельные области 


143 
Все последовательные секции выполняет нить-мастер. Параллелизм 
обеспечивается схемой FORK/JOIN. Нить-мастер порождает дополнительные 
нити при входе в параллельную область (выполняется операция FORK). При 
этом каждая порожденная нить получает свой уникальный номер, причем 
нить-мастер всегда имеет номер 0. Все порожденные нити исполняют 
одинаковый код, который соответствует параллельной области. Основная 
нить дожидается завершения остальных нитей при выходе из параллельной 
области и она же обеспечивает последующее выполнение программы 
(выполняется операция JOIN). 
В параллельной секции происходит разделение переменных 
программы на общий (SHARED) и локальный (PRIVATE) классы.
Глобальные переменные могут использоваться всеми нитями. Для локальных 
переменных создается экземпляр на каждой нити.
Таким образом, за выполнение параллельных секций отвечает набор 
нитей, у которых есть доступ к глобальным и локальным переменным.
Полные тексты спецификаций ОреnМР для языков Fortran, С и С++ на 
сайте 
http://www.openmp.огg


Download 5,19 Mb.

Do'stlaringiz bilan baham:
1   ...   78   79   80   81   82   83   84   85   ...   101




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish