Kompiuteriai viršijo superkompiuterius sprendžiant tris dalelių sklaidos problemą • Vladimiras Кукулин • Mokslas naujienos apie "elementai" • Matematika, mokslas Rusijoje, programavimas, fizika

Kompiuteriai viršijo superkompiuterius, sprendžiant tris dalelių sklaidos problemą

Pav. 1. Viršuje: superkompiuteris JUGENE (Jülich Blue Gene) užima visą salę Jülich tyrimų centre (Forschungszentrum Jülich) Vokietijoje, nuotrauką iš thinkedition.net. Šis superkompiuteris buvo sukurtas 2007 m. "IBM" remiantis "Blue Gene" architektūra. 2013 m. Ji buvo pakeista patobulinta JUQUEEN versija, naudojant naują šios architektūros versiją. Abu superkompiuteriai darbo pradžioje buvo galingiausi Europoje. Žemiau: Nagrinėjamame dokumente naudojama GeForce GTX 970 vaizdo plokštė (apie 25 cm ilgio), naudojama spręsti trijų dalelių sklaidos problemą, nuotrauka iš geforce.com

Įdomios užduotys, kurioms reikalinga didelė skaičiavimo galia, kyla reguliariai įvairiose mokslo srityse. Natūralus atsakymas į tai yra superkompiuterių skaičiaus ir veiklos padidėjimas. Tačiau jų skaičiavimo laikas vis dar brangus, o mokslinių tyrimų grupių konkurencija yra didelė. Rusijos fizikai iš INP MUI vardo M. M. Ломоносова atsirado dar vienas požiūris į vieną iš svarbių išteklių, reikalaujančių problemų квантовой рассеяния teorijos. Jie galėjo sumažinti Faddeevo lygčių sprendimą į tokią formą, kurioje įprasto asmeninio kompiuterio vaizdo plokštės stipriosios pusės būtų naudojamos maksimaliai: daugiakryptis lygiagretus tos pačios procedūros atlikimas.Šis rezultatas atveria plačias galimybes sprendžiant daugelį kitų skaičiavimo problemų.

Superkompiuteriai ir iššūkiai

Šiuo metu visose gamtos mokslų srityse sparčiai didėja poreikis atlikti aukšto našumo skaičiavimus. Tai lemia matematinio (kompiuterinio) modeliavimo sudėtingų daugiapakopių procesų poreikiai, apibūdinantys didelį skaičių laisvių laipsnių (tokie procesai yra, pavyzdžiui, hidro ir dujų dinamika, plazmos teorija, astrofizika, branduolinė fizika, grotelių lauko teorija ir kt.). ir realus formulavimas pereinant prie tikslaus skaitinio sprendimo daugialypių diferencialinių ir integralių lygčių. Kaip visiškai natūralus atsakas į šiuos naujus prašymus, dabar sparčiai didėja superkompiuterių skaičius ir įdiegta našumas visame pasaulyje, o sparčiausiai Kinijos ir JAV superkomponentų našumo augimas (žr. TOP500 reitingą). Pavyzdžiui, nuo 2016 m. Liepos mėn. Galingiausias superkompiuteris – "China Sunway TaihuLight" – turi apie 100 petaflopų, kuris yra tris kartus didesnis nei ankstesnis lyderis, ir šimtus kartų daugiau nei XXI amžiaus pradžios superkompiuterių pajėgumai.

Kvantinėje sklaidos teorijoje taip pat yra klasių problemų, kurios reikalauja labai didelių skaičiavimo išteklių. Mes kalbame apie tikslią (kiekybine prasme) daugelio kūno sklaidos problemų (vadinamųjų kelių kūno sistemų) sprendimą nuolatiniame spektre. Leiskite mums priminti skaitytojui, kad susijusių sistemų būklės, kai dalelių judėjimas yra ribotas, turi fiksuotąsias (kvantines) energijas ir atitinkamai atitinka sistemos Hamiltoniano diskretinio spektro sritį. Šiuo metu visiškai įmanoma tiksliai apskaičiuoti atskirų sistemų spektrų, sudarytų iš daugybės šimtų ir net tūkstančių dalelių (tokių kaip elektronai ir atominiai branduoliai), kurie, be kita ko, apima tikslų atominių ir didelių molekulių struktūros skaičiavimą (dalyvauja kvantinė chemija). Tačiau dalelių pasklidimas atitinka jų neribotą judesį, todėl išsisklaidymo būsenose egzistuoja nuolatinis (nuolatinis) energijų rinkinys, taigi ir atitinka nuolatinio Hamiltoniano sistemos spektrą. Be to, naudojant tą pačią energiją, tos pačios sistemos galimos skirtingos išskaidymo galimybės (kanalai). Taigi, nuolatinio spektro uždaviniai yra kokybiškai skirtingi ir daug sudėtingesni nei diskretinio spektro problemos.Todėl nenuostabu, kad sprendžiant jau trijų dalelių kvantinės sklaidos problemą sukelia didelių sunkumų tiek grynai matematikos, tiek skaičiavimo sąlygomis.

Tikslaus sprendimo dėl trijų dalelių sklaidos problemos (ir problemos didesniam dalelių skaičiui) svarba kvantinėje mechanikoje yra dėl to, kad ji yra labai jautri vidaus struktūrai nagrinėjamų kvantinių sistemų ir leidžia jums pažvelgti į branduolius ir atomus ir rasti raktus į daugelį svarbių šiuolaikinės fizikos problemų (pavyzdžiui, geriau suprasti branduolinių jėgų pobūdį). Be to, daugelis fizinių problemų, pvz., Deuteronų sklaidos nukleonais ir branduoliais, yra daugelio šviesiųjų branduolių (6,7Li 13C ir kt.), Kiti branduoliai arba elektronų ir positronų išsibarstymas atomuose ir molekulėse, taip pat daugybė problemų kietojo kūno fizikoje ir kt. Gali būti aprašyti trijų dalelių kvantinio modelio sistemoje.

Prisiminkite, kad iki šiol matematiškai griežtas sprendimas net Niutono trijų kūno problemų klasikinėje mechanikoje, ypač tyrimas apie sistemos "Žemė-Mėnulis-Saulė" elgesį iki šiol nebuvo visiškai išspręsta, nepaisant fundamentalių tyrimų, kuriuos atliko daugelis puikių matematikų šioje srityje, įskaitant Lagrangę, Poincarė ir kt.

Matematiniu požiūriu, trys kūniškos sklaidos problemos atrodo ne lengviau ir tikriausiai net daug sudėtingesnės nei klasikinės. Pavyzdžiui, vis dar nėra matematiškai griežtą sprendimą iš trijų Kulono dalelių problemos (ty, bendrauja tarpusavyje Kulono dėsnis) ne energijos virš trijų dalelių ribą, ir pan., D. Nepaisant to, didžiulė pažanga buvo padaryta garsaus Sovietų ir Rusijos matematikas Ludwig darbą Faddeev, kuris sukūrė griežtą matematinę teoriją Kvantinė trijų kūno problema (LD Faddeev 1966 "Matematinė klausimus Kvantinė teorijos sklaidos trejų dalelių sistema), rado tinkamą matematinį lygtį TP uždavinio Dalelių formos sklaida suformulavo šių lygčių, kurios dabar visame pasaulyje žinomos kaip lygtys Фаддеева, разрешимости.

Tai visais atžvilgiais novatorišką darbą Faddeeva nuo pat jo įkūrimo pradžios 60-ųjų praėjusio šimtmečio, sukėlė didelį sąmyšį daugelyje sričių teorinės fizikos ir branduolinės fizikos, ir skatinti daugiau srautą metinėse konferencijose visame pasaulyje dėl vadinamųjų mažo dalelių sistemas.(Šiuo metu reguliariai vyksta ne mažiau kaip trys "ne visos darbo dienos" konferencijos: visame pasaulyje, Europos ir Azijos-Ramiojo vandenyno šalyse, kurių dažnumas yra kas trejus metus. Šiais metais Europos konferencija vyks rugpjūčio viduryje Danijoje. Vakar šioje konferencijoje buvo nuspręsta įsteigti Ludwigo Faddeevo medalį, kurį pažymės mokslininkai, kurie padarė neįtikėtiną indėlį į kelių dalelių kvantinę teoriją.) Ir didelė mokslinių tyrimų dalis, pateikta šiose konferencijose , ypač pirmaisiais metais po Faddeevo novatoriško darbo, ji buvo skirta metodams, skirtiems spręsti jo lygtis ir įvairius aproksimus trikampio kūno sklaidos problemoje. Tai buvo dėl to, kad, apskritai, lygtys Фаддеева, pavyzdžiui, integrali formuluotė, yra didelė sistema многомерных сингулярных integralų lygtis, o integralai į širdies šių lygčių yra imami su kintamomis ribomis, priklausomai nuo kitų kintamųjų. Tai visų pirma lemia tai, kad tokių lygčių tiesioginiai pakartojimai (kai sprendimas,Ankstesniame žingsnyje aptikta iteracija pasirodo neįmanoma, nes nežinomos funkcijos lygtyse kairėje ir dešinėje yra nustatomos skirtingiems argumentams. Dėl to, atliekant kartotinius, būtina iš naujo interpoluoti esamą sprendimą į kiekvieną tašką didžiulėje daugybėje tinklelių. Tai veda prie už kelių dimensijų interpoliacijos dabartinės tirpalo kiekvienam iteracijos žingsnyje, bendro skaičiaus, pavyzdžiui pereinterpolyatsy milijonus ir net dešimtys milijonų poreikį. Čia turi būti pridėta problemas, susijusias su sureguliavimo sudėtingų ypatumų atomo branduolyje Faddeeva lygtis ir labai didelių gabaritų grandinės rasti matricos ligavimo daug momentų kvantinės dalelių, kuri veda į tarpinių projekcijų kampinę momentais aukštos darinys dalelių sumų (iki 30 kartų sumų) norint rasti kiekvienas matricos elementas branduolio matricoje (ir tikrojoje problemoje yra daug milijonų ar net milijardų tokių matricų elementų).

Kaip rezultatas, skaičiavimo sudėtingumas sprendžiant Faddeev lygtis realių problemų branduolinės ir atominės fizikos buvo toks, kad iki didžiųjų superkompiuterių išvaizda, daugiausia JAV, eredine 80-ųjų praėjusio šimtmečio, rasti tikslią problemos sprendimas per priimtiną laiką buvo neįmanoma.Be to, 80-ųjų pabaigoje laikas išspręsti visą tris dalių Faddeevo problemą didelio amerikietiško superkompiuterio metu buvo 2-3 savaites (žr., Pavyzdžiui, straipsnį A. Picklesimer, RA Rice ir R. Brandenburg, 1991. Δ Trinuclei: I. Hanoverio vienas-Δ modelis ir kiti straipsniai šios autorių grupės iš serijos "Δ laisvės laipsnių trikampyje"). Buvo visiškai akivaizdu, kad nė vienas įprastas kompiuteris negalėtų tvarkyti tokio skaičiavimo kiekio. Tačiau per pastaruosius dešimt metų padaryta labai spartaus skaičiavimo pažanga viršijo didžiausią lūkesčius ir drąsiausias svajones. Dabar visiškos sistemos Faddeevo lygčių trijų dalių sistemos sprendimas gali būti gautas įprastą stalinį kompiuterį per 15-30 minučių. Liepos leidime buvo paskelbtas rusų mokslininkų grupės rezultatas. Kompiuterių fizikos komunikacijos.

Wave paketai ir diskretizacija nuolatinio spektro kvantinės sistemos

Šis požiūris, leidžiantis išspręsti problemą, yra beveik toks pat paprastas, kaip problema dėl susietų sistemų būsenose – idėja diskretizuoti nuolatinio spektro. Be to, įvairiais būdais galima atlikti perėjimą nuo tuščiosios spektro tikslių bangų funkcijų, turinčių ribinę normą, į atskirų reikšmių funkcijų rinkinį.Tačiau akivaizdu, kad vienas iš labiausiai patogių ir natūralių būdų yra perėjimas prie vadinamųjų stacionarių bangų paketų, pirmą kartą įvestų į teoriją diferencialinių lygčių (vadinamų "savo skirtumais") Hilberto studentų Ernst Hellinger ir Hermann Weyl praėjusio šimtmečio pradžioje ir Kvantinės mechanikos vystymosi aušros metu Wigneras naudojo dar daugiau.

Šio požiūrio esmė šiuolaikiniame interpretacijoje susideda iš nuolatinio sistemos Hamiltoniano spektro padalijimo į juostas (dėžutes) finišo pločio Δ. Kiekvienoje tokioje juostoje bangų paketas yra sukonstruotas iš tikslios nepertraukiamo spektro funkcijų, integruojantis per energiją (nes ji nepriklauso nuo laiko, mes vadiname ją stacionari). Kaip rezultatas, gaunamas atskiri nuolatinio spektro paketinių būsenų rinkinys, kuris vėliau naudojamas kaip skaičiavimo pagrindas. Reikia pažymėti, kad diskretizavimo juostų integracija yra pakankama, kad bangų funkcijos normalizuotų kaip diskretinio spektro funkcijos. Tokių paketinių būsenų ir susijusių Hamiltonianų būsenų skirtumas yra tokskad mes galime sukurti nepertraukiamo spektro skaidinį savavališkai, paketas Valstybinė energetikos bus suteikta įvairių mėginių ėmimo tinklų. Tuo atveju, kai be galo mažų pločių pasiskirstymo ribos gauti šių įvairių bazių rezultatai linkę tiksliai tirpalui nepertraukiamo spektro pradžios

Pav. 2 Keleto bangų paketų elgsena priklausomai nuo be matmenų koordinačių qrkur q – dalelių impulsas skirtingų pločių talpykloms. (a) – gana plačių skilimo intervalų grafikas, (b) – vidutinio dydžio (c) – intervalams su mažu pločiu. Kaip galima matyti iš diagramos, kad mažas plotis bangų funkcijų tęsiasi labai ilgus atstumus

Į Energijos erdvėje bangų paketo turi vieno impulso formą, Ir sukrauti bangų funkcija (pvz, bangos funkcija Deuteron – susijusios būklės neutronu ir protono) (3 pav, kairėje pusėje.) Turi iš histogramos formą (2 pav, dešinės.).

Pav. 3 Atstovavimas bangų paketo momentu (kairėje) ir supakuota bangos funkcija (dešinėje) Jis gali būti matyti, kad bangų funkcija yra atstovaujama pakopinės diagramoje forma (histogramos)

Taigi, mes gauname labai patogus būdas diskrečiųjų atstovavimo bangų funkcijų ir operatorių impulso erdvėje iš vienos, dviejų, trijų matmenų (arba daugiamačių) histogramos formą. Su tokiu histograma yra lengva atlikti bet kokį matricos elementų operatorių Kvantinė teorija skaičiavimą, taip pat neatsiejama per kiekvieną žingsnį galima pakeisti (vidutinė vertė teorema) kad iš integrand vertės produktą šio žingsnio iki šiukšlių dėžę pločio (arba stačiakampio trinkelėmis srityje, dėl gretasienio ir taip tūrio toliau daugiamačiams objektams).

Pavyzdžiui, vietoj Lippmann-Schwingerio lygtys lygtys t-matrices, apibūdinančios dalelių sklaidą jėgos lauku V Kvantinėje mechanikoje gauname paprastą matricinę lygtį

\ [T_ % (E_p) = V_ % + \ suma \ limits_ % V_ % g_k (E_p) t_ {kJ} (E_p), \ q_i \ in D_i, \ q_j \ in D_j, \ E_p \ in D_p, \]

kai visi operatoriai yra matricų paketų pagrindu ir gk laisvos rezoliucijos matricos elementas, turintis įstrižainę formą. Be to, dėl papildomo vidutinio operatorių energijos priklausomybių nuo diskretizavimo juostų, kuriuos mes naudojame, originalaus integruoto branduolio ypatumai yra išlyginti, o vietoj viengubos integralinės lygtys gauname lengvai išsprendžiamą matricinę lygtį.

Tas pats sumažinimas iki diskretiško paketų erdvės taip pat gali būti atliekamas dėl kvantinių trikdžių, keturių ir daugiau dalelių išskaidymo problemų. Pagrindinis skirtumas nuo paprastos išskaidymo problemos, apsvarstytos čia, bus integruotos šerdies dimensijoje ir pirminio energijos išskyrimo charakteristikoje. Tačiau bet kuriuo atveju šie ypatumai yra išlyginti pakuojant, todėl daugiamačių matricų lygtis vis dar gaunama su matricomis, kurių elementai nebegali turėti energijos ir impulso ypatybių. Tokiu atveju visas užduoties sudėtingumas perkeltas į naudojamų paketų bazių matmenį ir užpildomas atitinkamų operatorių matricų elementai, o ne į daugialypę esamų sprendimų reinterporaciją, atsižvelgiant į ypatumus branduolių lygtyse, kaip įprastai.

Svarbus paketų schemos privalumas yra matricinių lygčių "pikselių forma", kai visų matricų elementai apskaičiuojami nepriklausomai vienas nuo kito. Dėl to palyginti lengva lygiagreti labai daug laiko skaičiuojant didžiulį skaičių matricos elementų iš daugialypio integruoto šerdies, todėl skaičiavimo laikas su tokiu masiškai lygiagrečiu įgyvendinimu gali būti labai sumažintas (ty dešimtys ir šimtai kartų).Norint tai įgyvendinti, geras sprendimas yra naudoti grafikos procesorių (GPU) arba vaizdo plokštę, kuri beveik kiekviename kompiuteryje yra įrengta dirbant su kompiuterine grafika. Žinoma, toli nuo bet kokios grafikos plokštės tinka tokia masyvi lygiagretaus skaičiavimo, bet tik specializuota mokslinė kompiuterija. Tačiau jie dabar yra plačiai atstovaujami rinkoje. Pavyzdžiui, pastaraisiais metais "NVIDIA" išplėtė savo pagrindinę specializaciją, kurdama žaidimų konsolių grafikos plokštes, kad pritaikytų jas tik moksliniams tikslams. Apskritai galime pasakyti, kad dėl plačiai naudojamo grafinio skaičiavimo visose šiuolaikinio mokslo srityse vyksta kompiuterinė revoliucija mokslo skaičiavimuose ir platus perėjimas prie daugybiškai paralelinio daugelio kompiuterinių programų įdiegimo.

"GPU – kompiuterio revoliucija": kas tai yra?

Vaizdo plokštė, vienas iš pagrindinių žaidimų pultelių ir daugumos kompiuterių elementų, leidžia greitai greituose viename ekrane rodyti realiuoju laiku ekranus. Šiuo tikslu grafikos plokštę sudaro programuojami aritmetiniai įrenginiai – pikselių shaderiai (pikselshaderiai), kurie leidžia jums apskaičiuoti pikselių būklę su koordinačių (x, y) ekrane. Apskritai, pikselių ekranas gauna koordinates ir kitą papildomą informaciją prie įvesties ir turi pateikti galutinę šio pikselio spalvą, įskaitant jos šviesumą, šešėlio lygį ir tt Tačiau, kadangi dirbant realiuoju laiku, ekrane rodomas vaizdas (kuris dabar apima milijonai pikselių) turėtų būti pakeista daug kartų per sekundę, šių grafinių įrenginių greitis turėtų būti didžiulis.

2000 m. Pradžioje programuotojams, kurie naudoja 3D grafiką, buvo sukurtos specializuotos programinės įrangos priemonės, "OpenGL" ir "DirectX", kad būtų galima rašyti GPU instrukcijas. Tačiau beveik iš karto jiems atsitiko, kad vietoj pikselių spalvos, šeideras gali apskaičiuoti bet kokią su koordinatėmis susijusią vertę. Jei įvedate skaitinius duomenis, kuriuose nėra įvesties spalvų, niekas neleidžia jums rašyti šyderio, kuris atlieka savavališkus skaičiavimus. Rezultatas gali būti svarstomas programoje, o GPU nesvarbu, kaip jis interpretuojamas. Galų gale paaiškėjo, kad galite naudoti labai didelį greitį aritmetinių skaičiavimų naudodami grafikos plokštę daugeliui tikslų, kurie neturi nieko bendra su grafika kompiuteryje.Siekiant palengvinti programavimą, sukurta netgi speciali CUDA architektūra. Dėl šios priežasties sukurta reali galimybė atlikti ypač greitus skaičiavimus, taikant masyviai lygiagretų įgyvendinimą.

Šiuo metu rinkoje parduodamos serijinės vaizdo plokštės yra apie 4 tūkst. Branduolių (o kai kurie dar daugiau!). Palyginkite jį su 4-8 šerdies reguliariu procesoriumi. Jie leidžia atlikti lygiagrečius skaičiavimus daugybe dešimčių ir šimtų tūkstančių temų – vadinamųjų temų. Ir nors skaičiavimo greitis kiekvieno tokio gijų atžvilgiu yra šiek tiek mažesnis už centrinio procesoriaus greitį, lygiagretus daugybės sriegių naudojimas leidžia pasiekti pagreitį pagal užsakymų dydį.

Tačiau ne viskas taip paprasta. Dėl jų pagrindinių bruožų GPU skaičiavimai atliekami SIMD (vienkartinių kelių duomenų tvarkymo) režimu, o tai reiškia, kad skaičiavimai kartu su visais tempais turi būti atliekami naudojant tą patį nurodymą (komandą), taigi ir sąlyginį operatoriai ir perėjimai. Yra ir kitų apribojimų.

Todėl labai greita kompiuterių našumo GPU galimybė reiškia, kad nėra trivialus gebėjimas veiksmingai lyginti visą užduotį, atsižvelgiant į apribojimus, nustatytus SIMD režimu.Paprasčiausias ir akivaizdus pavyzdys, kai didelis skaičiavimų greitis naudojant GPU yra didelės matmenos matricos elementų skaičiavimas. Paprastai tokių matricų elementams yra analitinės formulės (skirtingos sudėtingumo laipsnio), o tada visa matrica yra padalinta į daugybę tūkstančių ar milijonų blokų, o kiekvieno bloko matricos elementai yra laikomi lygiagrečiais tempais (naudojant tas pačias formules).

Tačiau dažnai visa matrica pasirodo esanti tokia didelė, kad ji netelpa į kompiuterio laikinąją atmintį arba greitą atmintį (RAM), ir ji gali būti įrašoma tik į kietąjį diską. Tačiau tuo pačiu metu daugelis matricos gabalėlių iš disko peržiūri taip ilgai, kad išgaunama visa paralelinio diegimo nauda. Tačiau yra daug būdų apeiti šiuos apribojimus ir pasiekti aukštą GPU skaičiavimo greitį.

Šiandien itin greitas GPU skaičiavimas yra įtrauktas į daugybę mokslinių tyrimų projektų ir taikomųjų programų, ypač į daugybę kūno fiziką, kvantinės lauko teorijos, didelių molekulių chemijos, geofizikos, medicinos, finansų matematikos ir kt.Tuo pačiu metu daugelyje programų GPU kompiuterių naudojimas suteikia visiškai unikalių naujų galimybių (žr., Pvz., Knygas "CUDA technologijos pavyzdžiuose: grafinių procesorių programavimo įvadas" ir "CUDA Fortran" mokslininkams ir inžinieriams).

Naudojant GPU skaičiavimus Kvantinėje daugiapakopio sklaidos teorijoje

Sprendžiant Kvantinės daugelio dalelių sklaidos problemą GPU, reikia spręsti lygtis, reikalingas trijų dalių Faddiejų sklaidai, kaip siūloma Vokietijos teoretikų Alto, Grosbergerio ir Sandhos, amplitudės. Paketo reprezentacijoje matricos analogas šios lygties trijų nukleonų sistemai (pvz., Apibūdinantis neutronų sklaidą deuteronoje) turi tokią formą:

\ [U = PV + PVG_1U, \]

kur U – pageidaujama pereinamojo operatoriaus matrica, V – dviejų dalelių (kuri turi paprastą bloko struktūrą) sąveikos operatoriaus matricą ir G1 – Hamiltono kanalo atsparumo matrica (turinti įstrižainės vaizdą). Techniniu požiūriu sudėtingiausias šios lygties elementas yra permutavimo operatoriaus matrica. Pkuris turi visą sistemos matmenį

Norėdami sumažinti šios lygties dimensiją,Paprastai visi operatoriai yra suskaidomi į sferines harmonijas, tada kiekvieno (iš dviejų) Jacobio koordinatės sukuriami kampiniai momentai yra susiję su nugaros ir izosfino kintamaisiais. Kaip rezultatas, visą visą sistemą J tai pasirodo milžiniška sistema, susiejanti daugialypes integralias lygtis (vidutiniškai 40-60 susiejant lygtis už kiekvieną j vertę) Norėdami išspręsti tik vieną iš šių lygčių, reikia atlikti diskretizaciją, atitinkančią dizainą, remiantis stacionarių bangų paketais, kuriuose naudojama 50-100 talpyklų kiekvienai Jacobi koordinatei. Tada vidutiniškai gaunama sistema алгебраических lygčių tvarkos. N = 104× 60 = 600 000, su pilno matricos matmenimis N×N. Tokia matrica susideda iš 300-500 milijardų matricų elementų, todėl ji neatitinka greito kompiuterio atminties, ją galima įdėti tik į didelį kietąjį diską. Laimei, pagrindinė pernokėjimo operatoriaus matrica yra \ (P = OP_0O ^ T \), kur O – bloko matrica ir P0 – labai retai sutampa matrica plokščio bangų funkcijoms skirtinguose trijų dalelių impulsų rinkiniuose, kurie yra vos 1% užpildyti (ar net mažiau). Tai leidžia jums įdėti matricą P0 operacinėje atmintyje, tačiau tampa būtina iš anksto patikrinti visus jo elementus ir pasirinkti tarp jų nulinį. Toks milijardų matricinių elementų patikrinimas taip pat reikalauja daug kompiuterio laiko. Ir galiausiai reikėtų paminėti, kad visas šis didžiulis darbas turi būti atliekamas kiekvienai visiško momento vertybei. Jkuris gali būti pusiau sveikųjų verčių 1/2, 3/2, …, 17/2!

Paaiškėjo, kad lygiagretavimas į dešimtis tūkstančių temų leidžia atlikti visą šį gigantišką skaitinį darbą įprastame asmeniniame kompiuteryje per protingą laiką.

Bendra schema, skirta problemai spręsti serijos pateikime, susideda iš šių etapų:
1) užpildo imties tinklus kiekvienam impulsų koordinatės rinkiniui, taip pat apskaičiuoja bloko matricas V, O ir įstrižainės matrica G1;
2) išankstinis żemès nulinio elemento atranka P0;
3) matricos nelyginių elementų skaičiavimas P0;
4) matricos lygties tirpalas pagal iteracijų metodą.

Kadangi daugiausia laiko reikalaujančių žingsnių šioje schemoje yra 2) ir 3), mes atlikome lygiagretumą. Tuo pačiu metu skaičiavimo greitis didėja pagal užsakymą ir pasiekia fantastines lygiagrečių verčių vertesvisos programos dalis, kai yra palyginti paprasta dviejų dalelių sąveika. Visų pirma, mes nustatėme, kad visiškai sutampa matrica P0 yra maždaug (fiksuoto J) 260 milijonų ненулевых elementų, kurių kiekvienas reikalauja skaičiaus apskaičiavimo dvigubo integralas aukštųjų полиномистов Лежандра kartu su eilės kitų арифметических operacijų. Buvo nustebintas tai, kad daugybiškai lygiagrečiai apskaičiuojant 260 milijonų kompleksinių integralų įprastame kompiuteryje su GeForce GTX 670 grafikos procesoriumi, tai užtruks tik 3 sekundes, todėl, atsižvelgiant į jų pasirinkimą, užtruks tik 8 sekundes.

Čia reikėtų pažymėti, kad pasirenkant ne nulinius matricos elementus, pasirenkama ne tik sumažinta naudojamos atminties reikšmė, bet ir būtina pagreitinti GPU paralelizavimo procedūrą. Faktas yra tas, kad tiesioginis skaičiuojamas atskiros matricos elementas GPU yra neveiksmingas, nes lygiagrečiai siūlai yra įkeliami netolygiai, o dauguma procesorių priversti stovėti tuščiąja eiga, o kiti atlieka skaičiavimus.Iš anksto parinkus nulinius elementus (kuriuos mums taip pat pavyko lygiagrečiai redaguoti!), Lygiagretūs gnybtai turi daug mažiau ir jie yra pakraunami tolygiai. Šis pavyzdys aiškiai rodo, kokį nuostabų didelį greitį galima pasiekti gerai tvarkomame GPU proceso procese.

Kaip rezultatas, visiškai išspręsta didžiulė sistema sujungimo integralių lygčių visoms būtinoms J (įskaitant visus etapus, įskaitant tuos, kurie atliekami nuosekliai) visiškai realiai sudėtingoms dviejų dalelių sąveikoms galima atlikti maždaug per 15-30 minučių. Priešingai, tas pats Faddeev uždavinys dideliu "Blue Gene" superkompiuteriu gali užtrukti ilgiau nei vieną dieną ir yra labai brangus.

Nėra jokių abejonių, kad per gana trumpą laiką įprastame kompiuteryje gali būti išspręstas daugybė kitų svarbių skaičiavimo užduočių, kurioms reikalingas įprastas (t. Y. Nuoseklusis) didžiųjų skaičiavimo resursų įgyvendinimas. Tai pažadai atverti tikrai naujų fantastinių galimybių matematiniam modeliavimui ir realių kompiuterinių procesų modeliavimui daugelyje šiuolaikinio mokslo sričių. Taigi mes jau beveik jaučiame šios įdomios kelionės pradžią.

Šaltinis: V. N.Pomerantsevas, V. I. Кукулин, O. A. Рубцова, S. K. Сахиев. Greitieji GPU skaičiavimai kieto kūno sklaidai // Kompiuterių fizikos komunikacijos. 2016. V. 204. P. 121-131.

Vladimiras Кукулин


Like this post? Please share to your friends:
Parašykite komentarą

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: