CPU ja GPU erinevus. Kiirendus mitme GPU-ga. Andmeanalüüsi tehnoloogiad

Saksa teadlane kasutamise kohta GPU andmetöötlusökonofüüsikas ja statistilises füüsikas, sealhulgas aktsiaturu teabe analüüsimiseks. Tutvustame teie tähelepanu selle materjali põhipunktidele.

Märkus: Ajakirja artikkel pärineb 2011. aastast, sellest ajast alates on ilmunud uued GPU-seadmete mudelid, kuid üldised lähenemisviisid selle tööriista kasutamisele võrgukaubanduse infrastruktuuris on jäänud muutumatuks.

Nõuded arvutusvõimsusele kasvavad erinevates valdkondades. Üks neist on finantsanalüüs, mis on vajalik edukaks kauplemiseks aktsiaturul, eriti HFT fondidega. Aktsiate ostu-müügiotsuse langetamiseks peab algoritm analüüsima märkimisväärsel hulgal sisendandmeid – infot tehingute ja nende parameetrite kohta, jooksvaid noteeringuid ja hinnatrende jne.

Aega, mis kulub ostu- või müügikorralduse loomisest vahetusserverist vastuse saamiseni selle eduka täitmise kohta, nimetatakse edasi-tagasi reisiks (RTT). Turuosalised annavad endast parima, et seda aega lühendada, eelkõige kasutavad nad börsile otsese juurdepääsu tehnoloogiaid ning kauplemistarkvaraga serverid asuvad börside kauplemismootori kõrval asuvas kolokatsioonirajatis.

Tehnoloogilised võimalused edasi-tagasi reisi vähendamiseks on aga piiratud ja pärast nende ammendumist seisavad kauplejad silmitsi küsimusega, kuidas muidu saaks kiirendada. kauplemistoimingud. Selle saavutamiseks kasutatakse veebikaubanduse infrastruktuuri loomisel uusi lähenemisviise. Eelkõige kasutatakse FPGA-sid ja GPU-sid. HFT-kauplemise kiirendamisest programmeeritava riistvara abil kirjutasime varem, täna räägime sellest, kuidas saab selleks kasutada GPU-sid.

Mis on GPU

Kaasaegsete graafikakaartide arhitektuur põhineb voogesituse multiprotsessorite skaleeritaval hulgal. Üks selline multiprotsessor sisaldab kaheksat skalaari protsessori tuumad, mitme keermega juhiste moodul, jagatud mälu, mis asub kiibil (kiibil).

Kui CUDA laiendusi kasutav C-programm kutsub GPU tuuma, nummerdatakse selle tuuma koopiad või lõimed ja jaotatakse saadaolevatele multiprotsessoritele, kus nende täitmine algab. Selle nummerdamise ja levitamise jaoks on põhivõrk jagatud plokkideks, millest igaüks on jagatud erinevateks lõimedeks. Sellistes plokkides olevad lõimed käivituvad saadaolevates multiprotsessorites samaaegselt. Suure hulga lõimede haldamiseks kasutatakse SIMT (single-instruction multiple-thread) moodulit. See moodul koondab need 32 lõimega "pakkidesse". Sellised rühmad täidetakse samas multiprotsessoris.

GPU finantsandmete analüüs

Finantsanalüüsis kasutatakse palju mõõdikuid ja näitajaid, mille arvutamine nõuab tõsist arvutusvõimsust. Allpool loetleme mõned neist ja võrdleme "tavalise" protsessori kuvatavat töötlemiskiirust Intel Core 2 Quad CPU (Q6700) taktsagedusega 2,66 GHz ja vahemälu suurus 4096 kilobaiti, samuti populaarsed graafikakaardid.
Hursti eksponent
Aegridade analüüsis kasutatakse mõõtu, mida nimetatakse Hursti eksponentsiaaliks. See väärtus väheneb, kui kahe identse väärtuspaari vaheline viivitus aegreas suureneb. Seda kontseptsiooni kasutati algselt hüdroloogias Niiluse jõe tammi suuruse määramiseks ettearvamatute sademete ja põua tingimustes.

Seejärel hakati Hursti eksponenti kasutama majanduses, eriti aastal tehniline analüüs prognoosida hinnasarjade liikumise trende. Allpool on toodud CPU ja GPU Hursti eksponendi arvutamise kiiruse võrdlus (kiirenduse indikaator β = kogu protsessori arvutusaeg / GeForce 8800 GT GPU koguarvutusaeg):

Isingu mudel ja Monte Carlo meetod
Teine tööriist, mis rändas rahandusvaldkonda, seekord füüsikast, on Isingi mudel. See statistilise füüsika matemaatiline mudel on loodud materjali magnetiseerumise kirjeldamiseks.

Kristallvõre iga tipp (arvestatakse mitte ainult kolmemõõtmelisi, vaid ka ühe- ja kahemõõtmelisi variatsioone) on seotud arvuga, mida nimetatakse spiniks ja mis on võrdne +1 või −1 ("väli üles" / "väli alla"). ). Igaüks 2^N võimalikud variandid Spinnide paigutusele (kus N on võre aatomite arv) omistatakse energia, mis tuleneb naaberaatomite spinnide paarilisest vastastikmõjust. Järgmisena võetakse antud temperatuuri puhul arvesse Gibbsi jaotust – selle käitumist vaadeldakse temperatuuril suur number N aatomit.

Mõnes mudelis (näiteks mõõtmetega > 1) täheldatakse teist järku faasisiiret. Temperatuuri, mille juures materjali magnetilised omadused kaovad, nimetatakse kriitiliseks (Curie punkt). Selle läheduses erinevad mitmed termodünaamilised omadused.

Algul kasutati Isingi mudelit ferromagnetismi olemuse mõistmiseks, kuid hiljem hakkas see laiemalt levima. Eelkõige kasutatakse seda üldistuste tegemiseks sotsiaal-majanduslikes süsteemides. Näiteks Isingi mudeli üldistus määrab finantsturu osaliste interaktsiooni. Igal neist on oma käitumisstrateegia, mille ratsionaalsus võib olla piiratud. Otsused selle kohta, kas müüa või osta aktsiaid ja mis hinnaga, sõltuvad inimese varasematest otsustest ja nende tulemusest, aga ka teiste turuosaliste tegevusest.

Isingu mudelit kasutatakse turuosaliste vahelise suhtluse modelleerimiseks. Isingu mudeli juurutamiseks ja simulatsiooni modelleerimine Kasutatakse Monte Carlo meetodit, mis võimaldab konstrueerida matemaatiline mudel projekti jaoks määratlemata väärtused parameetrid.

Allpool on võrdlus simulatsiooni jõudluse kohta protsessoris ja GPU-s ( NVIDIA GeForce GTX 280):

Analüüsi ajal kasutatakse Isingi mudeli rakendusi erinevad kogused keerleb Mitme keerutuse rakendamine võimaldab laadida mitu keerutust paralleelselt.

Kiirendus mitme GPU-ga

Andmetöötluse kiirendamiseks kasutatakse ka GPU-seadmete klastreid – sel juhul panid teadlased kokku kahest Tesla C1060 GPU-kaardist koosneva klastri, mille vaheline suhtlus toimus Double Data Rate InfiniBandi kaudu.

Isingi mudeli Monte Carlo simulatsioonide puhul näitavad tulemused, et jõudlus suureneb peaaegu lineaarselt, kui lisatakse rohkem GPU-sid.

Järeldus

Katsed näitavad, et GPU-de kasutamine võib jõudlust oluliselt parandada finantsanalüüs. Samal ajal võib kiiruse suurenemine võrreldes protsessori arhitektuuri kasutamisega ulatuda mitmekümnekordseks. Samal ajal saate GPU klastreid luues saavutada veelgi suurema jõudluse tõusu - sel juhul kasvab see peaaegu lineaarselt.

Olete otsustanud osta arvuti. Kõndige mööda ostukäike, vaadake hinnasilte, tutvuge omadustega. Ja tekib küsimus: mis on GPU? Sageli näete seda tähtede kombinatsiooni, kuid te ei näe selle tähendust. Proovime selgitada.

GPU - mis see on ja kuidas see CPU-st erineb?

GPU tähistab "graafikatöötlusüksust" või GPU. See on eraldi seade mängukonsooli, arvuti või kaamera jaoks. Vastutab graafika renderdamise eest ja teostab seda. GPU saab selle ülesandega märkimisväärselt hästi hakkama tänu spetsiaalselt selleks otstarbeks loodud torujuhtme arhitektuurile. Kaasaegsed GPU-d töötlevad graafikat palju paremini kui nende klassikalised keskprotsessorid (CPU-d).

Praegu on GPU kasutusel 3D graafikakiirendina, kuid erandjuhtudel saab seda kasutada ka arvutustöös. GPU ja CPU erinevus on järgmine:

  • arhitektuur: see on suunatud maksimaalsele kompleksi arvutamise kiirusele graafilised objektid ja tekstuurid;
  • suhteliselt madal käsukomplekt.

Kolossaalne arvutusvõimsus on täpselt seletatav arhitektuuri omadustega. Koos kaasaegsete mitut tuuma sisaldavate protsessoritega (2/4/8, mida peeti juba läbimurdeks) töötati GPU algselt välja mitmetuumalise struktuurina. Siin on südamike arv sadades!

Erinevus arhitektuuris seletab ka erinevust tööpõhimõttes. Kui protsessori arhitektuur on mõeldud järjestikuseks andmetöötluseks, siis GPU oli algselt mõeldud arvutigraafikaga töötamiseks ja on seetõttu mõeldud massiivseteks, kuid paralleelsete arvutuste tegemiseks.

Igal neist arhitektuuridest on oma eelised. CPU on järjestikuste ülesannete täitmisel palju parem. Suure hulga töödeldud teabe puhul on GPU-l eelis. Peamine tingimus on, et ülesanne peab säilitama paralleelsuse.

Nüüd teate palju GPU-de kohta, mis on GPU, ja võite isegi oma sõpradele rääkida.

Protsessorid ja GPU-d on väga sarnased; mõlemad on valmistatud sadadest miljonitest transistoridest ja suudavad töödelda tuhandeid toiminguid sekundis. Aga kuidas need kaks täpselt erinevad? olulised komponendid mõni koduarvuti?

Selles artiklis püüame väga lihtsal ja ligipääsetaval viisil selgitada, mis vahe on protsessoril ja GPU-l. Kuid kõigepealt peame vaatama neid kahte protsessorit eraldi.

CPU-d (keskprotsessorit või keskprotsessorit) nimetatakse sageli arvuti "ajuks". Keskprotsessori sees on umbes miljon transistorit, mille abil tehakse erinevaid arvutusi. Koduarvutitel on tavaliselt 1–4 tuumaga protsessorid, mille taktsagedus on ligikaudu 1 GHz kuni 4 GHz.

Protsessor on võimas, sest suudab kõike. Arvuti on võimeline ülesannet täitma, kuna protsessor on võimeline seda ülesannet täitma. Programmeerijad on suutnud seda saavutada tänu laiatele juhiskomplektidele ja tohututele funktsioonide loenditele, mida jagavad kaasaegsed keskprotsessorid.

Mis on GPU?

GPU (Graphics Processing Unit või Graphics Processing Unit) on spetsiaalset tüüpi mikroprotsessor, mis on optimeeritud väga spetsiifiliste arvutus- ja graafikakuvarite jaoks. GPU töötab madalama taktsagedusega kui CPU, kuid sellel on palju rohkem töötlevaid südamikke.

Võite ka öelda, et GPU on spetsiaalne CPU, mis on loodud ühel kindlal eesmärgil - video renderdamiseks. Renderduse ajal teeb GPU lihtsaid matemaatilisi arvutusi tohutult palju kordi. GPU-l on tuhandeid tuumasid, mis töötavad samaaegselt. Kuigi iga GPU tuum on protsessori tuumast aeglasem, on see lihtsate toimingute tegemiseks siiski tõhusam. matemaatilised arvutused graafika kuvamiseks vajalik. See tohutu paralleelsus muudab graafikaprotsessori võimeliseks muutma tänapäevaste mängude jaoks vajalikku keerulist 3D-graafikat.

Erinevus CPU ja GPU vahel

GPU suudab teha vaid murdosa asjadest, mida CPU suudab, kuid teeb seda uskumatul kiirusel. GPU kasutab sadu tuumasid, et teha kiireloomulisi arvutusi tuhandete pikslite kohta, renderdades samal ajal keerulist 3D-graafikat. Aga saavutada suured kiirused GPU peab tegema monotoonseid toiminguid.

Võtame näiteks Nvidia GTX 1080. Sellel videokaardil on 2560 shaderi südamikku. Tänu nendele tuumadele suudab Nvidia GTX 1080 ühe taktitsükli jooksul täita 2560 käsku või toimingut. Kui soovite pilti 1% heledamaks muuta, saab GPU sellega hakkama ilma suuremate raskusteta. Kuid neljatuumaline Intel Core i5 keskprotsessor suudab ühe taktitsükli jooksul täita ainult 4 käsku.

CPU-d on aga paindlikumad kui GPU-d. Keskprotsessoritel on suurem juhiste komplekt, et nad saaksid rohkem töötada lai valik funktsioonid. Samuti töötavad protsessorid kõrgemal maksimumil kella kiirused ja neil on võimalus juhtida arvutikomponentide sisendit ja väljundit. Näiteks saab keskseadmega integreerida Virtuaalne mälu, mis on vajalik kaasaegse operatsioonisüsteem. See on täpselt see, mida GPU teha ei saa.

GPU andmetöötlus

Kuigi GPU-d on loodud renderdamiseks, on need võimelised enamaks. Graafika töötlemine on ainult korduva paralleelarvutuse tüüp. Muud ülesanded nagu Bitcoini kaevandamine ja paroolimurdmine tuginevad samasugustele tohututele andmekogumitele ja lihtsatele matemaatilistele arvutustele. Seetõttu kasutavad mõned kasutajad videokaarte mittegraafiliste toimingute jaoks. Seda nähtust nimetatakse GPU-arvutuseks või GPU-arvutuseks.

järeldused

Selles artiklis võrdlesime protsessorit ja GPU-d. Arvan, et kõigile on selgeks saanud, et GPU-del ja CPU-del on sarnased eesmärgid, kuid need on optimeeritud erinevateks arvutusteks. Kirjutage oma arvamus kommentaaridesse, proovin vastata.

Peamine kiip sees emaplaat– see on keskprotsessor (CPU – Central Processor Unit). Keskne, kuna see juhib siinisüsteemi ja kiibistiku abil kõiki teisi alamsüsteeme.

Alamsüsteemi, mis juhib teabe visualiseerimist ja kuvamist ekraanil, nimetatakse videosüsteemiks. See integreeritakse emaplaadile videokaardi kujul oleva pesa kaudu. Videokaart on insenertehniline lahendus ja see on plaat, millel on oma protsessor (seega GPU) ja RAM.

GPU NVidia Nv45 videokaardil

Videokaardi protsessorit nimetatakse GPU-ks (Graphic Processor Unit), et rõhutada:

  1. Mis see protsessor on?
  2. Et see pole keskne, st CPU-le alluv.
  3. Et see on keskendunud spetsiaalsete andmete – graafika – töötlemisele.

GPU asukoht emaplaadil

Kuna graafikatöötlus on andmetöötluse spetsialiseerumine, on GPU spetsialiseerunud protsessor. Loogiliselt väljendub spetsialiseerumine GPU eraldatuses CPU-st, füüsiliselt – sellega, et GPU on erinevalt disainitud.

CPU sisaldab kümneid südamikke, GPU - tuhandeid

Seda GPU füüsilist rakendamist õigustab vajadus töödelda tuhandeid paralleelsed ülesanded, mis on seotud renderdamisega. Keskprotsessor on keskendunud andmetöötlusele – pikkadele ja järjestikustele ülesannetele.

Kaasaegne protsessor (CPU) võib sisaldada graafikaprotsessorit.

Neljatuumaline protsessor koos lisaga graafika tuum GPU

See lahendus võimaldab arvutil tänu keskprotsessorisse sisseehitatud GPU-le ilma videokaardita hakkama saada. See vähendab energiatarbimist 30–180%. Protsessori maksumus ei tõuse rohkem kui 20%.

Selle rakendamise peamine puudus on madal jõudlus. See lahendus sobib kontoriarvutid, kus nad töötavad dokumentide ja andmebaasidega, kuid kaasaegsed arvutimäng Te ei saa seda käivitada, Photoshop aeglustub ja AutoCAD võib külmuda.

Kuidas arvutis GPU-d teada saada

Kasutaja jaoks seostub GPU tugevalt videokaardiga, kuigi tegemist on vaid protsessoriga. Tea, milline graafika adapter arvutisse installitud on kasulik kolmel juhul:

  • draiverite installimisel või värskendamisel;
  • arvuti nõuetele vastavuse hindamisel Nõuded süsteemile tarkvara;
  • sõpradele näitamiseks.

Kui kõik draiverid on arvutisse installitud, on kiireim viis vaadata seadmehalduri videoadapterite jaotist:

Vaadake GPU-d seadmehalduris

Kui draiverid pole installitud, kuvab seadmehaldur teadet ainult tundmatute seadmete kohta:

GPU seadmehalduris, kui draiverid puuduvad

Sel juhul laadige alla CPU-Z utiliit, käivitage ja minge vahekaardile "Graafika" (ingliskeelses versioonis graafika):

Kuva GPU-d Programm CPU-Z

helpadmins.ru

Mis on GPU arvutis?

Tere kõigile, GPU on videokaardi või täpsemalt graafikaprotsessori tähis. Seda sõna, noh, see tähendab, et lühendit võib sageli leida mõnest tunnusest, näiteks tunnustest Inteli protsessor On olemas selline asi nagu Integrated GPU, mis tähendab sisseehitatud videokaarti. Noh, see on õige, see on tegelikult sisseehitatud, videokiip asub otse protsessoris, see pole justkui uudis

See tähendab, et oleme juba teinud järelduse, et GPU on videoseade. Aga mida veel on oluline mõista? Kirjutasin, et GPU on karakteristikutes leitud, kõik on õige, aga lisaks sellele leiab ka temperatuuri näitavatest programmidest. Ma arvan, et te teate selliseid programme. Noh, või te ei tea, lühidalt, igal juhul on teile kasulik teada, mida ma nüüd kirjutan. Tähendab me räägime GPU temperatuuri kohta. Paljud väidavad, et videokaamera võib töötada 80 kraadi juures, aga mina teatan, et see on liiga kõrge temperatuur! Ja üldiselt ma arvan, et üle 70 ei ole norm!

Muide, GPU tähistab Graphics Processing Unit

Ja siin on graafikakiip ise, see tähendab GPU, nii et juhtisin selle tahvlile nooltega välja:

Aga mis on siis normaalne temperatuur? Kuni 60 kraadi, no max 66, no 70 kraadi on juba lagi... Aga üle selle ma arvan, et see pole enam väga hea, lihtsalt selline temperatuur ei pikenda kindlasti kasutusiga. , Kas sa nõustud minuga? Noh, seal on rohkem huvitav punkt, ühesõnaga, kui videokaart läheb päris kuumaks, siis pagana ajab ta oma soojuse ka korpusesse välja, no ilmselgelt ei ole selles jahe ja siis läheb protsess kuumaks, ühesõnaga lõbus! Pidage meeles, et just TEMPERATUUR võib vähendada seadme eluiga! Siin vanadel emaplaatidel alates kõrge temperatuur plahvatas elektrolüütkondensaatorid.. Kui te mind ei usu, võite end Internetist otsida.

Ütle mulle, kas sulle oli kõik selge? Ausalt, ma loodan nii! Noh, kui midagi on valesti, siis vabandust!

Koju! videokaart 17.05.2017

virtmachine.ru

Mida GPU tähendab?

GPU (graafikaprotsessor)

GPU (graafikatöötlusüksus) on kõrgtehnoloogiline seade, mis vastutab graafika töötlemise eest arvutites, sülearvutites ja mobiiltelefonides. Kaasaegsetel GPU-del on spetsiaalne torujuhtme arhitektuur, mis muudab need töötlemisel väga tõhusaks graafiline teave võrreldes tavalise keskprotsessoriga. Võib kasutada osana diskreetne videokaart ja integreeritud lahendustes (sisseehitatud põhja sild või hübriidprotsessorisse).

Peamised erinevused GPU ja CPU vahel:

  1. Arhitektuur (maksimaalne rõhk töötlemisel graafilised tekstuurid)
  2. Piiratud arv juhtkondi

Suur kiirus ja võimsus GPU protsessorid sel ajal seletatakse ehitusarhitektuuri iseärasustega. Kui tänapäevased protsessorid koosnevad 2-6 tuumast, siis GPU-d peetakse mitmetuumaliseks struktuuriks, mis kasutab korraga kuni sadu tuumasid. CPU eeldab teabe järjestikust töötlemist ja GPU on mõeldud mitme keermega jaoks paralleelne töö rohke teabega.

windows-gadjet.ru

Mis on GPU ja milleks see on mõeldud?

Graafikaprotsessor ehk inglise keeles GPU – Graphics Processing Unit – on seade, mis on mikroskeem, kiip, mis on osa videoadapterist (videokaardist) või emaplaadist.

GPU vastutab pildi konstrueerimise (renderdamise) eest.

Lihtsamalt öeldes saab GPU rolli ja tähtsust kirjeldada järgmiselt:

GPU võtab keskprotsessorilt (CPU) vastu pildi koostamiseks vajalikud töötlemisandmed, seejärel töötleb neid ja valmistab ette edasisteks toiminguteks, kiirendades seeläbi oluliselt kujutise moodustamise protsessi ja vähendades keskprotsessori koormust.

GPU on valikuline komponent, selle tööd saab teha keskne.

Erinevalt keskprotsessorist on graafikaprotsessor arhitektuuri (struktuur, seade) erinevuste tõttu võimeline töötlema kümneid, sadu, tuhandeid kordi kiiremini teatud tüübid toimingud, näiteks andmete töötlemine pildi koostamiseks ja palju muud.

GPU võib olla diskreetne ehk osa videokaardist, mis on valmistatud laienduskaardi (seadme) kujul, mis on paigaldatud emaplaadi laienduspessa.Sellisel juhul asuvad kõik lisakomponendid ühel trükkplaadil, mis saab igal ajal kergesti eemaldada või asendada.

Või on see integreeritud, osa seadme emaplaadist endast.Sellisel juhul asub graafikaprotsessor emaplaadil, kõik lisakomponendid asuvad läheduses. Kasutatakse personaalarvutites, nutitelefonides, mängukonsoolid ja nii edasi.

19-06-2017, 20:38 Detaillook

www.detaillook.com

NVIDIA GPU ning GPU ja CPU võrdlus

Pilvandmetöötlus muutis radikaalselt kõiki tööstusharusid, demokratiseerides andmekeskused ja muutes täielikult ettevõtete tegutsemisviisi. Ettevõtte kõige olulisemad varad on nüüd salvestatud teie valitud pakkuja pilve. Väljavõtmiseks siiski maksimaalne kasu olemasolevate andmete põhjal on vaja sobivat suure jõudlusega arvutuslahendust.

NVIDIA tarkvara Sügav õppimine loodud pakkuma maksimaalne jõudlus maailma kiireimatel GPU-del ning sisaldab optimeeritud süvaõppe raamistikke, teeke, draivereid ja OS-i. See ühtne tarkvara töötab erinevatel andmetöötlusplatvormidel, alates TITAN X graafikakaartidest ja GeForce GTX 1080Ti DGX-süsteemide ja pilve jaoks ning on saadaval ööpäevaringselt.

GPU-pilvandmetöötlus on nõudmisel saadaval ka kõigil suurematel pilveplatvormidel.

KUIDAS RAKENDUSED GPU KIIRENDUST SAAVAD

GPU tegeleb rakenduse nende osadega, mis nõuavad palju arvutusvõimsus, kus ülejäänud rakendus töötab protsessoris. Kasutaja seisukohast töötab rakendus lihtsalt palju kiiremini.


Lihtne viis GPU ja CPU erinevuste mõistmiseks on võrrelda, kuidas need toimivad. Protsessor koosneb mitmest selle jaoks optimeeritud tuumast järjestikune töötlemine GPU-l on tuhandeid väiksemaid ja energiatõhusamaid tuumasid, mis on loodud mitme ülesande samaaegseks lahendamiseks.

GPU koosneb tuhandetest tuumadest tõhus töötlemine paralleelsed ülesanded


GPU ja CPU võrdlemiseks vaadake allolevat videot

Video: "MythBusters Showcase the Power of GPU vs CPU Computing" (01:34)

Rohkem kui 400 rakendust, sealhulgas 9 parimat 10 HPC rakendust, on GPU-del juba kiirendatud, võimaldades kõigil GPU-kasutajatel oma töökoormuse osas jõudlust oluliselt parandada. Kontrollige meie rakenduste kataloogi, et näha, kas rakendus, millega töötate, on GPU-kiirendusega (PDF 1,9 MB).

GPU kiirenduse lisamiseks oma rakendusele on kolm peamist meetodit.

  • Kasutage GPU-le optimeeritud teeke
  • Lisage kompilaatorisse käskkirjad või "vihjed", et koodi automaatselt paralleelseks muuta
  • Kasutage laiendusi juba tuttavate programmeerimiskeelte jaoks, nagu C ja Fortran

GPU-de kasutamise õppimine CUDA paralleelse programmeerimismudeliga on väga lihtne.

CUDA Zone'is on saadaval tasuta veebitunnid ja -ressursid arendajatele.

Graafikatöötlusüksus (GPU) – särav eeskuju kuidas graafikatöötlusülesannete jaoks loodud tehnoloogia on levinud kõrgjõudlusega andmetöötluse mitteseotud valdkonda. Kaasaegsed GPU-d on paljude keerukate masinõppe- ja andmeanalüütikaprojektide keskmes. Meie ülevaateartiklis vaatleme, kuidas Selecteli kliendid GPU riistvara kasutavad, ja mõtleme Yandexi andmeteaduste kooli õppejõududega andmeteaduse ja arvutusseadmete tulevikule.

GPU-d on viimase kümne aasta jooksul palju muutunud. Lisaks tohutule tootlikkuse kasvule toimus seadmete jaotus kasutusviiside järgi. Seega on videokaardid koduste mängusüsteemide ja virtuaalreaalsuse installatsioonide jaoks eraldatud eraldi suunas. Ilmuvad võimsad ja spetsialiseeritud seadmed: serverisüsteemide jaoks on üks juhtivaid kiirendeid NVIDIA Tesla P100, mis on loodud spetsiaalselt tööstuslik kasutamine andmekeskustes. Lisaks GPU-dele käivad aktiivselt uurimistööd uut tüüpi aju toimimist imiteeriva protsessori loomise vallas. Näiteks Kirin 970 ühe kiibiga platvorm, millel on oma neuromorfne protsessor närvivõrkude ja pildituvastusega seotud ülesannete jaoks.

See olukord paneb meid mõtlema järgmistele küsimustele:

  • Miks on andmeanalüütika ja masinõppe valdkond muutunud nii populaarseks?
  • Kuidas GPU-d arvutiriistvaraturgu domineerima hakkasid intensiivne töö andmetega?
  • Millised andmeanalüütika uuringud on lähitulevikus kõige lootustandvamad?

Proovime neid probleeme käsitleda järjekorras, alustades esimestest lihtsatest videoprotsessoritest ja lõpetades tänapäevaste suure jõudlusega seadmetega.

GPU ajastu

Kõigepealt tuletagem meelde, mis on GPU. Graafikatöötlusüksus on graafikatöötlusseade, mida kasutatakse laialdaselt töölaua- ja serverisüsteemid. Selle seadme eripäraks on keskendumine massiliselt paralleelsele andmetöötlusele. Erinevalt GPU-dest on teise arvutusmooduli, CPU (Central Processor Unit) arhitektuur mõeldud järjestikuseks andmetöötluseks. Kui tavalises CPU-s mõõdetakse tuumade arvu kümnetes, siis GPU-s ulatuvad need tuhandetesse, mis seab piirangud täidetavate käskude tüüpidele, kuid tagab paralleelsust hõlmavate ülesannete puhul kõrge arvutusvõime.

Esimesed sammud

Videoprotsessorite väljatöötamine algstaadiumis oli tihedalt seotud kasvava vajadusega eraldi arvutusseade töötlemiseks kaks ja 3D graafika. Enne eraldiseisvate videokontrolleri ahelate tulekut 70ndatel viidi pildi väljund läbi diskreetse loogika kasutamise, mis mõjutas suurenenud energiatarbimist ja suured suurused trükkplaadid. Spetsiaalsed mikroskeemid võimaldasid eraldada graafikaga töötamiseks mõeldud seadmete arendamise eraldi suunda.

Järgmine murranguline sündmus oli uue klassi tekkimine keerukamatest ja multifunktsionaalsed seadmed- videoprotsessorid. 1996. aastal andis 3dfx Interactive välja Voodoo Graphics kiibistiku, mis vallutas kiiresti 85% pühendatud videoturust ja tõusis sel ajal 3D-graafika liidriks. Pärast sarja halvad otsused ettevõtte juhtimine, mis hõlmas videokaartide tootja STB ostu, kaotas 3dfx juhtpositsiooni NVIDIA ja ATI (hiljem AMD) ees ning kuulutas 2002. aastal välja pankroti.

Üldine GPU andmetöötlus

2006. aastal kuulutas NVIDIA välja GeForce 8-seeria tootesarja, mis tõi turule uue seadmete klassi, mis on mõeldud üldise graafikaprotsessori (GPGPU) andmetöötluse jaoks. ajal välja töötanud NVIDIA jõudis sellele arusaamisele suurem arv Madalamatel sagedustel töötavad südamikud on paralleelse töökoormuse jaoks tõhusamad kui vähesed suurema jõudlusega tuumad. Uue põlvkonna videoprotsessorid on pakkunud paralleelset andmetöötlust mitte ainult videovoogude töötlemiseks, vaid ka masinõppe, lineaaralgebra, statistika ja muude teaduslike või kaubanduslike probleemide lahendamiseks.

Tunnustatud juht

Erinevused CPU ja GPU ülesannete esialgses määramises tõid kaasa olulisi erinevusi seadmete arhitektuuris - kõrgsagedus versus mitmetuumaline. GPU-de jaoks lõi see andmetöötluse potentsiaali, mida nüüd täielikult realiseeritakse. Muljetavaldava arvu nõrgemate töötlemistuumadega videoprotsessorid saavad paralleelarvutuses suurepäraselt hakkama. Keskprotsessor, mis on ajalooliselt loodud järjestikuste ülesannete täitmiseks, on endiselt oma ala parim.

Võrrelgem näiteks kesk- ja graafikaprotsessori jõudlusväärtusi närvivõrkudes ühise ülesande täitmisel - maatriksi korrutamine kõrge järjekord. Valime testimiseks järgmised seadmed:

  • PROTSESSOR. Intel Xeon E5-2680 v4 – 28 lõime koos HyperThreadinguga, 2,4 GHZ;
  • GPU NVIDIA GTX 1080 – 2560 CUDA südamikku, 1607 Mhz, 8 GB GDDR5X.

Kasutame Jupyteri sülearvutis CPU ja GPU maatriksi korrutamise arvutamise näidet:

Ülaltoodud koodis mõõdame aega, mis kulus protsessoris või GPU-s sama järjekorra maatriksite arvutamiseks (“täitmisaeg”). Andmed saab esitada graafiku kujul, millel horisontaalteljel kuvatakse korrutatud maatriksite järjekord ja vertikaalteljel täitmisaeg sekundites:

Oranžiga esiletõstetud graafiku joon näitab aega, mis kulub andmete loomiseks tavalises RAM-is, GPU mällu ülekandmiseks ja hilisemad arvutused. Roheline joon näitab aega, mis kulub juba videokaardi mällu genereeritud andmete arvutamiseks (ilma RAM-ist ülekandmiseta). Sinine näitab loendusaega keskprotsessor. Alla 1000 elemendist koosnevad maatriksid korrutatakse GPU-s ja CPU-s peaaegu sama ajaga. Jõudluse erinevus on selgelt nähtav maatriksite puhul, mis on suuremad kui 2000 aastaks 2000, kui protsessori arvutusaeg hüppab 1 sekundini, samal ajal kui GPU jääb nulli lähedale.

Keerulisem ja praktilisi probleeme on GPU-ga seadmes tõhusamalt lahendatud kui ilma nendeta. Kuna probleemid, mida meie kliendid GPU riistvaraga lahendavad, on väga erinevad, otsustasime välja selgitada, millised on kõige populaarsemad kasutusjuhud.

Kes Selectelis elab GPU-ga hästi?

Esimene võimalus, mis kohe pähe tuleb ja õigeks oletuseks osutub, on kaevandamine, kuid huvitav on märkida, et mõned kasutavad seda abivahendina seadmete “maksimumi” laadimiseks. Videokaartidega spetsiaalse serveri rentimisel kulub töökoormusest vaba aeg krüptovaluutade kaevandamiseks, mille hankimiseks ei ole vaja spetsiaalseid installatsioone (farme).

Olles juba mingil määral klassikaks saanud, leiavad graafika kiirenditega Selecteli serverites alati koha graafika töötlemise ja renderdamisega seotud ülesanded. Kõrge jõudlusega seadmete kasutamine selliste ülesannete jaoks võimaldab teil saada tõhusama lahenduse kui spetsiaalsete tööjaamade korraldamine videokaartidega.

Vestluse käigus klientidega kohtusime ka Yandex School of Data Analysis esindajatega, mis kasutab Selecteli jõudu testõppekeskkondade korraldamiseks. Otsustasime uurida, millega õpilased ja õpetajad tegelevad, millised masinõppe valdkonnad on praegu populaarsed ja milline on valdkonna tulevik pärast seda, kui noored spetsialistid liituvad juhtivate organisatsioonide töötajate ridadega või loovad oma idufirmad.

Andmeteadus

Tõenäoliselt pole meie lugejate seas kedagi, kes poleks kuulnud fraasi " närvivõrgud" või "masinõpe". Kui jätta kõrvale turundusvariatsioonid nende sõnade teemal, on lõpptulemus esilekerkiva ja paljutõotava andmeteaduse kujul.

Kaasaegne lähenemine andmetega töötamisele hõlmab mitmeid põhivaldkondi:

  • Suured andmed ( Suured andmed). Peamine probleem selles valdkonnas on tohutu teabe hulk, mida ei saa ühes serveris töödelda. Infrastruktuuri toetamise seisukohalt on vaja lahendada loomise probleemid klastrisüsteemid, skaleeritavus, tõrketaluvus ja hajutatud andmete salvestamine;
  • Ressursimahukad ülesanded (masinõpe, sügav õppimine ja teised). Sel juhul on küsimus kõrgjõudlusega andmetöötluse kasutamise kohta, mis nõuab suur kogus RAM ja CPU ressursid. Sellistes ülesannetes kasutatakse aktiivselt graafikakiirendiga süsteeme.

Andmetrendide vaheline piir hägustub järk-järgult: peamised tööriistad suurandmetega töötamiseks (Hadoop, Spark) võtavad kasutusele GPU-arvutite toe ning masinõppe ülesanded hõlmavad uusi valdkondi ja nõuavad suuremaid andmemahtusid. Täpsemalt aitavad mõista andmeanalüüsi kooli õppejõud ja üliõpilased.

Selle tähtsust on raske üle hinnata kompetentne töö andmete ja täiustatud analüütiliste tööriistade asjakohase rakendamisega. Me ei räägi isegi suurandmetest, nende "järvedest" või "jõgedest", vaid pigem intelligentsest suhtlemisest teabega. See, mis praegu toimub, on ainulaadne olukord: võime koguda laia valikut teavet ning kasutada põhjalikuks analüüsiks täiustatud tööriistu ja teenuseid. Ettevõtted rakendavad selliseid tehnoloogiaid mitte ainult täiustatud analüütika saamiseks, vaid ka loomiseks ainulaadne toode mis tahes tööstuses. Täpselt nii viimane punkt kujundab ja juhib suuresti andmeanalüütikatööstuse kasvu.

Uus suund

Teave ümbritseb meid kõikjal: Interneti-ettevõtete logidest ja pangatoimingud enne lugemisi Suure Hadronipõrguti katsetes. Nende andmetega töötamise võime võib tuua miljoneid kasumit ja anda vastuseid universumi struktuuri puudutavatele põhiküsimustele. Seetõttu on andmeanalüüsist saanud äri- ja teadusringkondades eraldiseisev uurimisvaldkond.

Andmeanalüüsi kool koolitab parimaid spetsialiseerunud spetsialiste ja teadlasi, kellest tulevikus saab selle valdkonna teaduse ja tööstuse arengu peamine allikas. Tööstuse areng mõjutab meid ka infrastruktuuri pakkujana – järjest rohkem kliente soovib andmeanalüüsi ülesannete täitmiseks serveri konfiguratsioone.

Meie klientide ees seisvate tööülesannete spetsiifika määrab, milliseid seadmeid peaksime klientidele pakkuma ja millises suunas oma arendamist. tootesari. Koos Stanislav Fedotovi ja Oleg Ivtšenkoga küsitlesime andmeanalüüsi kooli õpilasi ja õppejõude ning selgitasime välja, milliseid tehnoloogiaid nad kasutavad praktiliste probleemide lahendamisel.

Andmeanalüüsi tehnoloogiad

Koolituse käigus liiguvad õpilased põhitõdedest (kõrgema matemaatika algõpetus, algoritmid ja programmeerimine) masinõppe kõige arenenumate valdkondadeni. Kogusime teavet nende kohta, kes kasutavad GPU-ga servereid:

  • Sügav õppimine;
  • Tugevdusõpe;
  • Arvutinägemine;
  • Automaatne tekstitöötlus.

Õpilased kasutavad spetsiaalsed tööriistad nendes õppeülesanded ja uurimistööd. Mõned teegid on loodud andmete teisendamiseks nõutav tüüp, teised on mõeldud kasutamiseks konkreetne tüüp teavet, nagu tekst või pildid. Süvaõpe on andmeanalüüsi üks keerukamaid valdkondi ja kasutab laialdaselt närvivõrke. Otsustasime välja selgitada, milliseid raamistikke kasutavad õpetajad ja õpilased närvivõrkudega töötamiseks.

Esitletud tööriistu toetavad nende loojad erineval tasemel, kuid sellest hoolimata kasutatakse neid jätkuvalt aktiivselt õppe- ja tööeesmärkidel. Paljud neist nõuavad ülesannete piisava aja jooksul töötlemiseks võimsat riistvara.

Edasine arendus ja projektid

Nagu iga teadus, muutub ka andmeanalüüsi suund. Kogemused, mida õpilased täna omandavad, annavad kahtlemata edasisi arenguid. Seetõttu väärib eriti tähelepanu programmi kõrge praktiline suunitlus - mõned üliõpilased alustavad õpingute ajal või pärast seda praktikat Yandexis ja rakendavad oma teadmisi juba kl. tõelised teenused ja teenused (otsing, arvutinägemine, kõnetuvastus ja muud).

Andmeanalüütika tulevikust rääkisime andmeanalüütika kooli õpetajatega, kes jagasid meiega oma nägemust andmeteaduse arengust.

Vastavalt Vlada Shakhuro, kursuse “Pildi- ja videoanalüüs” õpetaja, huvitavamad ülesanded aastal arvuti nägemine- ohutuse tagamine rahvarohketes kohtades, mehitamata sõidukiga sõitmine ja liitreaalsust kasutava rakenduse loomine. Nende probleemide lahendamiseks on vaja osata kvalitatiivselt analüüsida videoandmeid ja ennekõike töötada välja algoritmid objektide tuvastamiseks ja jälgimiseks, inimese näo järgi äratundmiseks ja vaadeldava stseeni kolmemõõtmeliseks rekonstrueerimiseks. Õpetaja Viktor Lempitsky, kursuse “Süvaõpe” juht, tõstab eraldi esile oma piirkonna automaatkodeerijad, aga ka generatiivsed ja võistlevad võrgustikud.

Andmeanalüüsi kooli üks mentoritest jagab arvamust masinõppe leviku ja massilise kasutamise kohta:

„Masinõpe on muutumas mõne obsessiivse teadlase pärusmaast, et saada tavalisele arendajale lihtsalt üheks tööriistaks. Varem (näiteks 2012. aastal) kirjutasid inimesed paarile videokaardile konvolutsioonivõrkude treenimiseks madala taseme koodi. Nüüd saab igaüks mõne tunni jooksul:

  • laadige alla juba treenitud närvivõrgu kaalud (näiteks keras);
  • kasutage seda oma probleemile lahenduse leidmiseks (peenhäälestus, nullkaadri õppimine);
  • manustage see oma veebisaidile või mobiilirakendus(tensorflow/caffe 2).

Paljud suured ettevõtted ja idufirmad on sellisest strateegiast juba kasu saanud (näiteks Prisma), kuid palju rohkem probleeme on alles avastamata ja lahendamata. Ja võib-olla muutub kogu see masin/sügav õppimine ühel päeval sama igapäevaseks nagu python või excel on praegu.

Tulevikutehnoloogiat ei oska täna keegi täpselt ennustada, kuid kui on olemas teatud liikumisvektor, saate aru, mida tuleks praegu uurida. Ja võimalused selleks on olemas kaasaegne maailm- suur hulk.

Võimalused algajatele

Andmeanalüüsi uurimine on piiratud kõrged nõudedõpilastele: laialdased teadmised matemaatika ja algoritmide valdkonnas, programmeerimisoskus. Päriselt tõsiseid väljakutseid masinõpe eeldab olemasolevat spetsialiseeritud varustus. Ja neile, kes soovivad andmeteaduse teoreetilise komponendi kohta rohkem teada saada, käivitas andmeanalüüsi kool koos Majanduskõrgkooliga veebikursuse “”.

Järelduse asemel

GPU turu kasvu veab kasvav huvi selliste seadmete võimaluste vastu. GPU-d kasutatakse kodus mängusüsteemid, renderdus- ja videotöötlusülesanded ning kus on vaja üldist suure jõudlusega andmetöötlust. Praktiline kasutamine andmekaevandamise ülesanded tungivad meie sisemusse sügavamale igapäevane elu. Ja hukkamine sarnased programmid Seda saab kõige tõhusamalt teha GPU abil.

Täname oma kliente, samuti Andmeanalüüsi Kooli õppejõude ja tudengeid materjali ühise koostamise eest ning kutsume oma lugejaid üles nendega lähemalt tutvuma.

Neile, kes on kogenud ja kogenud masinõppe, andmeanalüüsi ja muu valdkonnas, soovitame vaadata Selecteli laenutusi. serveriseadmed graafikakiirenditega: lihtsast GTX 1080-st kuni Tesla P100 ja K80-ni kõige nõudlikumate ülesannete jaoks.