www.wikidata.uk-ua.nina.az
Avtomatichne rozparalelyuvannya ce konvertuvannya kodu v bagatopotokovij sho pracyuye na paralelnomu komp yuteri napriklad na komp yuteri z bagatma procesorami procesornimi yadrami abo potokami vikonannya Metoyu avtomatizaciyi rozparalelyuvannya ye zvilnennya programista vid trudomistkogo procesu ruchnogo rozparalelyuvannya Nezvazhayuchi na te sho yakist avtomatichnogo rozparalelyuvannya znachno pokrashilasya za ostanni roki povne rozparalelyuvannya poslidovnih program zalishayetsya zanadto skladnim zavdannyam sho vimagaye duzhe skladnih vidiv analizu program ta PZ 1 Avtomatichnij paralelizator zazvichaj fokusuyetsya na takih keruyuchih konstrukciyah yak cikli oskilki v zagalnomu vipadku bilsha chastina vikonannya programi prohodit vseredini yakihos cikliv Ye dva osnovni pidhodi do rozparalelyuvannya cikliv konveyerna bagatopotokovist i ciklichna bagatopotokovist 2 Zmist 1 Viznachennya ciklu kotrij mozhe buti rozparalelenij 1 1 Osnovni ponyattya 2 Ciklichna bagatopotokovist 2 1 Analiz kompilyatora rozparalelyuvannya 2 2 Priklad 3 Konveyerna bagatopotokovist 4 Trudnoshi 5 Obhid trudnoshiv 6 Ranni kompilyatori rozparalelyuvannya 7 Suchasni kompilyatori z pidtrimkoyu rozparalelyuvannya 8 PosilannyaViznachennya ciklu kotrij mozhe buti rozparalelenij RedaguvatiRozglyanemo napriklad cikl yakij na kozhnij iteraciyi vikonuye 100 operacij ta maye tisyachu iteracij Ce mozhna rozglyadati yak tablichku 100 stovpciv na 1000 ryadkiv v cilomu 100000 operacij Osnovni ponyattya Redaguvati Ciklichna bagatopotokovist kozhen ryadok v inshomu potoci Konveyerna bagatopotokovist kozhen stovpec v inshomu potoci Ciklichna bagatopotokovist RedaguvatiCiklichnij bagatopotokovij kompilyator rozparalelyuvannya namagayetsya rozdiliti cikl tak shob kozhna iteraciya mogla buti vikonana na okremomu procesori odnochasno Analiz kompilyatora rozparalelyuvannya Redaguvati Kompilyator zazvichaj provodit dva prohodi analizu do faktichnogo rozparalelyuvannya dlya togo shob viznachiti nastupne Chi bezpechno rozparaleliti cikl Vidpovidayuchi na ce pitannya neobhidnij tochnij analiz zalezhnostej Dependence analysis en i analiz nezalezhnosti vkazivnikiv alias analysis en Chi varto rozparalelyuvati jogo Cya vidpovid vimagaye nadijnoyi ocinki modelyuvannya robochogo navantazhennya programi i potencialu paralelnoyi sistemi Pershij prohid kompilyatora provodit analiz zalezhnist danih ciklu shob viznachiti chi iteraciyi ciklu mozhut buti vikonani nezalezhno odin vid odnogo Drugij prohid namagayetsya vipravdati zusillya rozparalelyuvannya shlyahom porivnyannya teoretichnogo chasu vikonannya kodu pislya rozparalelyuvannya z poslidovnim chasom vikonannya Hoch ce j mozhe zvuchati paradoksalno ale vigoda vid paralelnogo vikonannya otrimuyetsya ne zavzhdi Dodatkovi nakladni vitrati yaki mozhut buti pov yazani z vikoristannyam dekilkoh procesoriv ta osoblivosti realizaciyi arhitekturi mozhut nivelyuvati pozitivnij efekt priskorennya Priklad Redaguvati Cikl nazivayetsya DOALL yaksho vsi jogo iteracij v tomu chi inshomu vikliku mozhut buti vikonani paralelno Fortran kod nizhche DOALL i mozhe buti avtomatichno rozparalelenij kompilyatorom tomu sho kozhna iteraciya ne zalezhit vid inshih i kincevij rezultat masivu z bude pravilnim nezalezhno vid poryadku vikonannya inshih iteracij do i 1 n z i x i y i enddo Z inshogo boku nastupnij kod ne mozhe buti avtomatichno rozparalelenij oskilki znachennya z i zalezhit vid rezultatu poperednoyi iteraciyi z i 1 do i 2 n z i z i 1 2 enddo Ce ne oznachaye sho kod ne mozhe buti rozparalelenij Dijsno ce ekvivalentno do i 2 n z i z 1 2 i 1 enddo Tim ne mensh kompilyatori rozparalelyuvannya zazvichaj ne zdatni avtomatichno zrobiti taki paralelizmi i sumnivno sho cej kod otrimaye vigodu z paralelizaciyi v pershu chergu Konveyerna bagatopotokovist RedaguvatiKonveyernij kompilyator rozparalelyuvannya namagayetsya rozbiti poslidovnist operacij vseredini ciklu na poslidovnist kodovih blokiv takih sho kozhen blok kodu mozhe buti vikonanim na okremih procesorah odnochasno Ye bagato paralelnih zadach yaki mayut taki vidnosno samostijni bloki kodu Napriklad pri virobnictvi zhivogo televizijnogo movlennya nastupni zavdannya mayut buti vikonani povtorno bagato raziv Zchitati kadr vihidnih pikseliv vid datchika zobrazhennya zrobiti MPEG kompensaciyu ruhu dlya vihidnih danih zrobiti entropijne stisnennya danih data rozbiti stisneni dani na paketi dodati vidpovidnu korekciyu pomilok i zrobiti ShPF dlya peretvorennya paketiv danih v COFDM signali i nadislati COFDM signali na televizijnu antenu Konveyernij kompilyator rozparalelyuvannya mozhe priznachiti kozhnu z cih shesti operacij na inshij procesor Trudnoshi RedaguvatiAvtomatichne rozparalelyuvannya skladno dlya kompilyatoriv z prichin 3 Analiz zalezhnostej skladnij dlya kodu sho vikoristovuye nepryamu adresaciyu vkazivniki rekursiyu vikliki funkcij osoblivo nepryami vikliki napriklad virtualni funkciyi zazdalegid nevidomogo klasu cikli mozhut mati nevidomu zazdalegid kilkist iteracij Cherez ce uskladnyuyetsya vibir cikliv sho vimagayut rozparalelyuvannya dostup do globalnih resursiv vazhko koordinuvati z tochki zoru rozpodilu pam yati vvodu vivodu i zagalnih zminnih Obhid trudnoshiv RedaguvatiCherez skladnist povnogo avtomatichnogo rozparalelyuvannya isnuye kilka pidhodiv dlya jogo sproshennya Dati programistam mozhlivist dodavati do programi pidkazki kompilyatoru shob vplivati na proces rozparalelyuvannya abo shob sprostiti analizi poznachivshi vkazivniki yak neperesichni abo vkazavshi garyachi cikli Sered rishen sho vimagayut dosit dokladnih instrukciyi dlya kompilyatora mozhna vkazati High Performance Fortran dlya sistem z rozpodilenoyu pam yattyu i OpenMP dlya sistem zi spilnoyu pam yattyu Stvoriti interaktivnu sistemu kompilyaciyi v roboti yakoyi brala bi uchast lyudina Taki sistemi stvoreni v ramkah pidproyektu SUIF Explorer v kompilyatorah Polaris i ParaWise Aparatna pidtrimka speculative multithreading Ranni kompilyatori rozparalelyuvannya RedaguvatiBagato rannih kompilyatoriv rozparalelyuvannya pracyuvali z programami napisanimi na Fortran cherez jogo bilsh strogi obmezhenya na peretin pokazhchikiv aliasing v porivnyanni z S Krim togo na Fortran napisano veliku kilkist program obchislyuvalnoyi matematiki sho vimagayut velikih resursiv dlya svoyeyi roboti Prikladi kompilyatoriv Paradigm compiler Polaris compiler Rice Fortran D compiler SUIF compiler Vienna Fortran compilerPochinayuchi z standartu Fortran 2008 cya mova programuvannya otrimala arhitekturno nezalezhnij vbudovanij sintaksis dlya paralelnoyi dekompoziciyi danih ta vikonannya instrukcij z dopomogoyu komasiviv tomu avtomatichne rozparalelennya z dopomogoyu kompilyatora zalishayetsya korisnoyu ale vzhe ne nadto vazhlivoyu osoblivistyu kompilyatoriv movi fortran Suchasni kompilyatori z pidtrimkoyu rozparalelyuvannya RedaguvatiSun studio 4 Intel C Compiler 4 5 Intel Fortran Compiler gcc 4 5 Posilannya Redaguvati Fox Geoffrey Roy Williams Paul Messina 1994 Parallel Computing Works Morgan Kaufmann s 575 593 ISBN 978 1 55860 253 3 Simone Campanoni Timothy Jones Glenn Holloway Gu Yeon Wei David Brooks The HELIX Project Overview and Directions Arhivovano 27 travnya 2015 u Wayback Machine 2012 Automatic parallelism and data dependency Arhiv originalu za 14 lipnya 2014 Procitovano 27 travnya 2015 a b v Patrick Lam 10 lyutogo 2011 Lecture 12 We ll talk about automatic parallelization today ECE459 Programming for Performance Arhiv originalu za 27 travnya 2015 Procitovano 17 listopada 2013 a b Robert van Engelen 3 zhovtnya 2012 High Performance Computing and Scientific Computing HPC Florida State University Arhiv originalu za 27 travnya 2015 Procitovano 17 listopada 2013 Otrimano z https uk wikipedia org w index php title Avtomatichne rozparalelennya amp oldid 35829667