Учебное пособие Казань 018 удк



Download 2,08 Mb.
Pdf ko'rish
bet94/98
Sana16.12.2022
Hajmi2,08 Mb.
#888158
TuriУчебное пособие
1   ...   90   91   92   93   94   95   96   97   98
Bog'liq
ParVychGafGal

Основной подход 
Исходя из общих соображений можно предложить следующий подход: 
o
Использовать автоматическое распараллеливание средствами 
компилятора. 


141 
o
С помощью профилировщика выявить участки кода, которые 
наиболее требовательны к процессорному времени. 
o
Добавить директивы OpenMP для наиболее важных циклов. 
o
Если такое распараллеливание не дало ожидаемого прироста 
производительности, то выполнить проверку на 

стоимости порождения процессов 

размер циклов 

балансировку загрузки 

количество ссылок на разделяемые переменные 

излишнюю синхронизацию 

стоимость доступа к памяти
Рассмотрим некоторые моменты более подробно. 
Автоматическое распараллеливание
. Многие компиляторы, которые 
поддерживают 
OpenMP 
позволяют 
производить 
автоматическое 
распараллеливание программ. При этом распараллелены могут быть только 
циклы, в которых компилятор не нашел зависимости по итерациям. Анализируя 
код компилятор сам вставляет в программу директивы OpenMP. В случае 
успеха пользователь уведомляется о том, что цикл был распараллелен, если нет, 
то сообщается почему. 
$> icc -parallel -par_report3 text.c 
test.c(61) : (col. 5) remark: LOOP WAS AUTO-PARALLELIZED. 
parallel loop: line 61 
shared: {"A", "B"} 
private: {"i", "j"} 
first private: { } 
reductions: { } 
procedure: chk_bk 
serial loop: line 74: not a parallel candidate due to insufficent work 
serial loop: line 82: not a parallel candidate due to insufficent work 


142 
serial loop: line 66 
anti data dependence assumed from line 68 to line 68, due to "B" 
Здесь для компилятора Intel ключ -parallel указывает на необходимость 
выполнит автоматическое распараллеливание, ключ -par_report говорит о том, 
что необходимо выводить отчетность по распараллеливанию. Число в конце 
ключа – уровень отчетности. 
Иногда компилятор может предполагать наличие зависимости по данным 
в цикле, которых реально нет, и как результат, отказываться от его 
распараллеливания. В этих случаях компилятору можно помочь, указав, что в 
этом цикле итерации независимы. 

Download 2,08 Mb.

Do'stlaringiz bilan baham:
1   ...   90   91   92   93   94   95   96   97   98




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