Ndihmë Gpu. Funksionaliteti i GPU-së nevojitet për të përmirësuar softuerin

Zharoznizhuvalny për fëmijët njihet si pediatër. Dyshohet se ka situata të ndihmës së pavolitshme për gratë me ethe, nëse fëmijët kanë nevojë të japin pafajësisht. Babai Todi merr përsipër shkathtësinë dhe kapsllëkun e barnave për uljen e temperaturës. Si mund t'u jepni fëmijëve një gji? Si mund ta mposhtni temperaturën e fëmijëve më të mëdhenj? Cilat janë më të mirat?

A kërkohet programi për minierat e kriptomonedhave? Çfarë vrahovuvati kur zgjedh posedimin për miniera? Si të minoni bitcoin dhe efirium për karta video shtesë në kompjuterë?

Për të parë, kartat video të vështira nuk do të privohen nga tifozët e specieve. kompjuterët igor... Mijëra koristuvachіv në të gjithë adaptorët grafikë svіt svіt vykorystovuyut për të fituar kriptovaluta! Tre karta me procesorë të shtypur fort minierë dele fermi- Qendrat procedurale, të cilat i bëjnë të shtënat dixhitale praktikisht të pavlefshme!

Ju jeni Denis Kuderin - një ekspert i revistës "HiterBober" për ushqimin e njohurive financiare dhe shkrim-leximi. Unë po flas për atë që jam vetë minierat në kartat video në 17-18 shkëmbinj, si cilësimet e duhura të vibrimit për të fituar kriptomonedhë dhe pse bitcoin-et në kartat video nuk janë gjithsesi të dukshme.

Shiko gjithashtu, blej atë më produktiv që do të tërheqë kartën video për minierat profesionale, ju mund të përdorni ekspertizën për të përmirësuar efikasitetin e fermës suaj të minierave.

1. Minierat në kartat video - qindarka të lehta ose vitrati të gabuar

Një kartë video e mirë nuk është vetëm një përshtatës sinjale dixhitale, ale i procesor më i ngushtë, ndërtesa e numrit më të madh të numrit të përgjithshëm të punonjësve është numëroni kodin hash për heshtin e blloqeve (blockchain)... Pagesat grafike të çmimeve me një mjet ideal për minierave- Kriptovaluta Vidobuvannya.

Furnizimi me energji elektrike: Pse keni nevojë për një procesor të kartës video? A ka ndonjë kompjuter një procesor qendror? A nuk është logjike të kryeni llogaritjen për ndihmën tuaj?

Pamje: Procesori CPU gjithashtu mund të numërojë zinxhirët e bllokimit, të ulë çmimin qindra herë më shumë, më pak procesorin e kartës video (GPU). Unë nuk jam një, por një i mirë, më i miri. Thjesht kanë një parim robotik. Dhe sa më shpejt që ju të merrni një foto të një karte video, presioni i tillë qendra e regjistrimit për të ecur përpara gjithnjë e më shumë.

Për të qetë, që nuk di për ata që marrin qindarka dixhitale, lidhje e vogël... Minierat - mënyra kryesore dhe e vetmja e adoptimit të kriptomonedhës.

Oskіlki cі pennі nіkhto jo karbuє і jo mik, і erë e keqe є jo substancë materiale, por një kod dixhital, i cili iu bind kodit për të numëruar. Tsim janë të angazhuar në miniera, ose më saktë, kompjuterë.

Krym numërimi i kodit, minimi i vizonit dhe numri i atyre që kanë gjetur ndërtesat:

  • Mbështetja e sistemeve të decentralizimit: dukshmëria e dinakërisë ndaj serverëve është baza e blockchain;
  • konfirmimi i transaksionit- pa një operacion minerar nuk do të jetë e mundur të arratisesh në një bllok të ri;
  • Formimi i blloqeve të reja të sistemit- і hyrja їх vetëm nga të gjithë kompjuterët restr.

Menjëherë dua të ftoh fitilin e veshëve: procesi i minierës me shkëmbin e lëkurës po bëhet gjithnjë e më i rëndësishëm. Për shembull, pas kartës video shtesë ka qenë prej kohësh joprofitabile.

Bitët sugjeruese për një GPU shtesë shtohen menjëherë për jo më amatorë kokëfortë, procesorë specialë erdhën për të zëvendësuar kartat video ASIC... Çmimi i chippy është më pak fuqi dhe më efikas. Të gjitha janë të mira, por të jemi në rregull 130-150 mijë rubla .

Modeli Antminer S9 është tërhequr

Për fat të mirë për minatorët, bitcoin nuk është vetëm një kriptomonedhë në planet, por një nga qindra. qindarkë dixhitale - efiriumi, Zcash, Hapësirë, qenush etj. Edhe më herët, mund të shihni karta video për karta video shtesë. Qyteti i verës është i qëndrueshëm dhe pronësia do të shlyhet në rreth 6-12 muaj.

Një problem tjetër është mungesa e kartave video të shtypura... Eksitimi rreth kriptomonedhës kërkon rritjen e çmimit të bashkëngjitjeve cich. Nuk është aq e lehtë të blesh një kartë video të re për miniera në Rusi.

Minatorët e kallirit duhet të zëvendësojnë përshtatësit video në dyqanet online (duke përfshirë ato nga jashtë) ose të blejnë mallra të implantueshme. Ndalo, para fjalimit, robiti jo raju: Zona për miniera është e vjetër dhe ka një përvojë fantastike.

Në Avita Navit shisni një numër fermash për një video të kriptomonedhës.

Ka shumë arsye: disa minatorë tashmë janë "nxehur" në videobotet e qindarkave dixhitale dhe janë angazhuar në më shumë operacione në bord me kriptovaluta (pranverë, tregtimi në treg), mendjet inshі, ato konkurrojnë me bazat kineze me vështirësi. E treta kaloi nga kartat video në "ASIK".

Sidoqoftë, nuk është e nevojshme të sillni fluksin e këngës dhe nëse kujdeseni për kartën video shtesë në të njëjtën kohë, do të keni mundësi të shkoni në udhëtimin me tren, kur të shkoni në Maybutn.

Іnsha rich, gravitat e karrierës në të gjithë katin janë më të vjetra. Për më tepër, numri i përgjithshëm i monedhave dixhitale nuk është i pjekur. Nawpaki, në qytetin e vjetër.

Pra, ka shumë raketa në atë qytet për një blockchain. 50 monedha, në një kohë edhe më shumë 12.5 BTK... Shkalla e palosjes është rritur me 10 mijë herë. E vërteta është se pjesa e bitkoin u rrit në një orë të tërë bagatorazov.

2. Kriptovaluta e minave Yak për kartë video shtesë - udhëzime pokrokova

Є dy opsione për miniera - vetëm dhe në pishinën e magazinës. Me një videokasetë të vetme, ju palosni palosjen - nëna ka nevojë për një numër të madh hash rates(një përpjekje)

99% e të gjithë minatorëve janë duke punuar pishina(Anglisht pishinë - pishinë) - spіlnotah, e zënë nga një rozetë e ndërtesave të numëruara. Minierat Spilnyy janë një faktor i ri i cilësisë dhe një garanci e të ardhurave të qëndrueshme.

Një minator im i ditur ka mundur të përdorë këtë mënyrë nga disku: Unë kam gërmuar për më shumë se 3 gurë, për një orë të tërë nuk jam larguar me të, por e kam bërë vetë.

Kërkuesit e tillë janë të ngjashëm me minatorët e arit të shekullit të 19-të. Ju mund të shukati shkëmbeni copën tuaj (në vipadku tonë - bitkoin) dhe kështu dhe nuk e di. Pra, blockchain nuk do të mbyllet, por ju nuk do të jeni në gjendje të refuzoni blockchain.

Tre shanse të tjera për "mashtruesit e vetë-bërë" për efirs dhe deyakim іnshih kripto-monedha.

Nëpërmjet një algoritmi më të avancuar të kriptimit, ETH nuk mbështetet nga procesorë specialë (ata nuk janë shpikur ende). Vikoristovuyt për shumë karta video. Për rakhunok efіrіv dhe іnshih altkoїnіv, ka shumë fermerë që janë të përfshirë.

Një kartë video për hapjen e fermës kryesore do të ishte e pamjaftueshme: 4 copë - "minimumi jetik" për minatorin, karrierës rozrahovuє për një mbërritje të qëndrueshme. E pa rendesishme sistemi është tërhequr përshtatës video ftohës. І mos humbisni respektin і taku stattyu vitrat, si një pagesë për energjinë elektrike.

Pokrokova udhëzime për të siguruar që ka falje dhe për të përshpejtuar procesin.

Croc 1. Vibiraєmo pishinë

Shumica e plumbave të kriptomonedhave ndodhen në territorin e PRC, si dhe në Islandë dhe SHBA. Formalisht, shpirtrat nuk kompromentojnë pushtetin shtetëror, megjithëse faqet e internetit ruse janë një gjë e rrallë në internet.

Oskilki vidobuvati në kartën video do të ndodhë që të jeni më mirë për të gjithë efiriumin, atëherë do t'ju duhet të merrni mallrat e nevojshme, të përdorni çmimin e llogaritur të monedhës. Unë dua Etherium - një altkoin pa dyshim i ri, pishinë për yogo mining isnu withoutl_ch... Për shkak të zgjedhjes së spilnotit, ka shumë për të përcaktuar madhësinë e të ardhurave tuaja dhe stabilitetin e tyre.

Pishina Vibiraєmo për kriteret e mëposhtme:

  • produktiviteti;
  • orë e robotikës;
  • popullaritet në mesin e klasës së mesme të kriptomonedhave;
  • shfaqja e mesazheve pozitive në forume të pavarura;
  • dhurata e qindarkave;
  • rozmіr comіsії;
  • parimi i mbërritjes narahuvannya.

Në tregun e kriptomonedhave, ka shumë ndryshime. Çmimi për të qëndruar në kurs dhe për të treguar qindarkat e reja dixhitale. pirun bitcoin. Kurthi dhe ndryshimet globale.

Pra, jo shumë kohë më parë u bë e qartë se efiri i fuqisë më të mundshme kalon në sistemin іnshu të shpërndarjes së trafikut. Me pak fjalë - fundi i mbrojtjes së Etheriumit është matimut mineri, për disa është "i pasur me kets", domethënë monedha, dhe kallinjtë dobuvach do të humbasin, ose nëse mbyllin dyqanin, ose kalojnë në qindarka të tjera.

Ale të tillë "dibnitsi" entuziastiv nikoli nuk ishin zupinali. Tim Bolshe, - programi quhet Pishinë fitimprurëse. Vona shfaqet automatikisht për një videoklip të altcoin për një moment të caktuar. Shërbimi i IV i vetë plumbave, si dhe vlerësimet në kohë reale.

Croc 2. Vendosni dhe ekzekutoni programin

Pasi të jeni regjistruar në faqen e internetit të pishinës, është e nevojshme të shtoni një program-miner special - mos e numëroni kodin me dorë me ndihmën e kalkulatorit. Ka edhe shumë programe të tilla. Për bitkoinu tse - 50 minator abo CGMiner, per efiru Ethminer.

Përmirësimi i nevojës për respekt dhe mjete të këndimit. Për shembull, është e nevojshme për fisnikërinë, si dhe skriptet, dhe për t'i futur ato në rreshtin e komandës së kompjuterit. Do të sqaroj momentet teknike me minatorët praktikantë, fragmentet e programit të lëkurës kanë nuancat e tyre të instalimit dhe rregullimit.

Croc 3. Reєstruєmo gamanets

Për sa kohë që keni ende pak bitkoin-gamanzya ose një efirium-skhovishcha, është e nevojshme që ata të riregjistrohen. Gamantsi zavantazhuєmo nga faqet zyrtare.

Unë do t'ju ndihmoj që t'i merrni vetë plumbat dhe pa pagesë.

Croc 4. Nisja e mo mining dhe stszhimo për statistika

Pasi të jetë tejmbushur, filloni procesin e arkëtimit për herë të parë. Sigurohuni që të shtoni programe shtesë, pasi universitetet kryesore të kompjuterit tuaj janë të lidhur me kampin e universiteteve kryesore të kompjuterit tuaj.

Croc 5. Kriptovaluta Vivodimo

Kompjuterët punojnë cylodobovo dhe automatikisht, numërojnë kodin... Do të merrni vetëm qepje dhe nuk do të gaboni me sistemet tuaja. Kriptomonedha rrjedh nga gamanet tuaja me një numër proporcional të drejtpërdrejtë të normave hash.

Si të transferoni monedhën dixhitale nga fiatnu? Të ushqyerit, statistika të njohura. Nëse është e shkurtër, atëherë ju mënyrë shvidky- Shkëmbim pikë. Aroma kërkon shumë para për shërbimet dhe përkushtimi juaj për të njohur kursin më të mirë me komike minimale. Zrobiti tse do të ndihmojë shërbim profesional Raporti i obmennikëve.

- Burimi më i mirë i Runet për një plan të tillë. Monitorimi Tsei i treguesve të më shumë se 300 pikave të këmbimit dhe njohja e kuotave më të shkurtra për çiftet e monedhave, në mënyrë që të kuotoheni. Ju lutemi, shërbimi do t'ju tregojë rezervat e kriptomonedhave në para të gatshme. Në listat e monitorimit - nëse nuk keni nevojë të ndryshoni dhe anuloni shërbimet.

3. Unë i respektoj kafshët kur zgjedh kartat video për miniera

Kërkohet vibrimi i kartës video me një trëndafil. Persha, jam kapur, sepse ajo është ende duke qëndruar në kompjuterin tuaj, ndoshta meine, ale tensioni i përpjekjes për të gjetur për efiriv nuk do të mjaftojë.

Treguesit kryesorë janë si më poshtë: produktiviteti (rezistenca), mirëmbajtja e energjisë, ftohja, perspektivat për përshpejtim.

1) Nxitja

Gjithçka është e thjeshtë këtu - produktiviteti i procesorit është më i bukur për llogaritjen e kodit hash. Treguesit e pamjes do të ofrojnë një fotografi me një vëllim memorie më shumë se 2 GB. Zgjidhni bashkëngjitjen nga autobusi 256-bit. 128-bit nuk është i përshtatshëm për komunitetin.

2) Shërbimet e energjisë

Fortësia, tse, e mrekullueshme, e shkëlqyeshme - shkallë e lartë hash dhe gjithashtu іnshe. Ale mos harroni për treguesit e furnizimit me energji. Fermat prodhuese Deyakі "krijojnë" stilin e energjisë elektrike, kështu që vitrail çon në shlyerjen ose mospagimin.

3) Ftohtë

Ruajtja standarde është nga 4-16 karta. Vona viroblya është e pushtuar nga sasia e nxehtësisë, kafshimi dhe jo vetë fermeri. Në një apartament me një dhomë pa kondicioner, jeta dhe praktika duket se janë të pakëndshme.

Asnjë ftohje e procesorit nuk është e njëjta gjë për minierat e suksesshme

Për këtë, kur zgjidhni dy karta me të njëjtin produktivitet, jepni një kalim, në të cilin më pak kërkesa për ngrohje (TDP) . Parametrat Nykrashі cool për të treguar foton e Radeon. Gjithashtu, kartat e bashkëngjitjes mund të përdoren në modalitetin aktiv pa konsumim.

Ftohësit shtesë nuk ju privojnë nga nxjerrja e ngrohtësisë nga procesorët, por vazhdimi i afatit të jetës suaj.

4) Mund të drejtohet

Rozgin - primusi i avancimit të treguesve të punës në kartën video. Mundësia e "kartës së emërtimit" për të depozituar në dy parametra - frekuencave procesor grafik frekuencën e videos... Mund ta përdorni vetë nëse dëshironi të rregulloni numrin e kërkesave.

Kartat video Yaki kupuvati? Ju duhet të dini lidhjen brezi i fundit për të mos qenë më pak grafik, por jo më herët se 2-3 herë. Minery vikoristovoyt karty AMD Radeon, Nvidia, Geforce GTX.

Hidhini një sy tabelës së fitimeve të kartave video (të dhënat janë aktuale për fundin e 2017):

4. Bleni një kartë video për miniera - shikoni dyqanet TOP-3

Siç e kam treguar tashmë, kartat video, për shkak të popullaritetit në rritje të minierave, janë riimagjinuar në mallrat e pakta. Shob blej pristіy nevojshme, për të ndodhur vitratiti ishte shumë i fortë për atë orë.

Ju mund të përdorni përmbledhjen tonë të pikave më të mira të shitjeve në internet.

1) TopComputer

Hipermarketi i Moskës teknologjia e drejtuar... Pratsyu në treg për 14 vjet, duke furnizuar shokun me ne mayzhe për çmimet e virobniks. Shërbimi Pratsyu i dorëzimit të shpejtë, bezkoshtovna për moskovitët.

Në kohën e këtij shkrimi, statty për shitje є carti AMD, Nvidia(8 Gb) dhe imazhe іnshі, e cila është e përshtatshme për miniera.

2) Мybitcoinshop

Dyqan specialiteti, tregtimi javor i mallrave për miniera... Këtu do të dini gjithçka për drejtimin e një ferme në shtëpi - kartat video të konfigurimit të nevojshëm, blloqet e jetesës, adaptorët dhe minatorët ASIC (për minatorët e gjeneratës së re). Є Dorëzimi me pagesë për vetë-shërbim nga një depo afër Moskës.

Kompania ka mohuar vazhdimisht një thirrje jozyrtare për dyqanin më të bukur për minatorët në Federatën Ruse. Shërbim i shpejtë, i vendosur me mirësi për klientët, avantazhi kryesor - suksesi kryesor i magazinës.

3) Ship Shop America

Blerja dhe dorëzimi i mallrave nga SHBA. Një kompani e mesme për ata të qetë që kanë nevojë për shokë të drejtë ekskluzivë dhe drejtues për miniera.

Partner i drejtpërdrejtë i kartave video provinciale virobnik për igor dhe miniera - Nvidia... Afati maksimal për një produkt është 14 ditë.

5. Yak zbіlshiti didhіd nga minierat në kartën video - 3 corny poradi

Lexues të padurueshëm, që duan të shpërndajnë minierat direkt menjëherë dhe të heqin të njëjtën nga plaga e së nesërmes, fuqia e pagabueshme - Skіlki fitojnë minierë?

Fitimet janë për shkak të zotërimit, normës së kriptomonedhës, efikasitetit të grupit, përpjekjeve të fermës, numrit të normave të hash-it dhe blerjes së faktorëve të tjerë. Dikush duhet t'i jepet më parë 70,000 rubla , të gjithë janë të kënaqur 10 dollarëçdo ditë. Çmimi është i paqëndrueshëm dhe biznes jotransfertues.

Korisnі me kënaqësi do t'ju ndihmojë të përmirësoni të ardhurat tuaja dhe të optimizoni vitratin.

Mbani një monedhë që rritet shpejt në çmim, fitoni më shumë para. Për prapanicën - efir menjëherë qëndroni afër 300 dollarë, Bitkoin - më shumë 6000 ... Gjithë kërkesën për vrahovuvati, nuk do të mpreh vetëm pjesën, por normën e parë të rritjes për ditën.

Porada 2. Llogaritësi i fitores për miniera për posedim optimal

Llogaritësi i minierave në vendin e pishinës ose në një shërbim tjetër të specializuar, gjithashtu mund të vibroni programin optimal dhe të lundroni në kartën video për miniera.

Vikoristannya GPU për llogaritje përtej C ++ AMP

Dossi, në negocimin e programeve paralele, shikonte thelbin e procesorit. Ne kemi dalë me disa rregullime të shpejta për paralelizimin e programeve nga një numër përpunuesish, sinkronizimin e aksesit në burimet fitimtare shoqërore dhe një listë të primitivëve të sinkronizimit me cilësi të lartë pa bllokim.

Sidoqoftë, ekziston një mënyrë tjetër për të zbatuar programin paralelisht - procesor grafik (GPU), karrierës volodyut më shumë bërthama, përpunues me produktivitet të ulët. Bërthamat e përpunuesve grafikë janë jashtëzakonisht të përshtatshëm për zbatimin e algoritmeve paralele për përpunimin e të dhënave, dhe ka një numër të madh kthimesh shtesë për mungesën e dukshmërisë manuale të programeve në to. Statistikat janë të lexueshme në një nga mënyrat e shfaqjes së programeve në një procesor grafik nga një grup shtesash në C ++ me emër C ++ AMP.

Zgjerimi i C ++ AMP bazuar në C ++ tim dhe të njëjtën statistikë për të demonstruar, por në C ++ tim. Megjithatë, në rastin e një mekanizmi zëvendësues të marrëdhënieve. NET, ju mund të përdorni algoritmet C ++ AMP në programet tuaja .NET. Le të flasim vetëm për statistikat.

Prezantuar në C ++ AMP

Nga rruga, një procesor grafik është vetë një procesor i tillë, sikur të ishte një grup i veçantë udhëzimesh, një numër i madh bërthamash dhe protokolli i tij për të hyrë në kujtesë. Megjithatë, ka një dukshmëri të madhe midis grafikëve moderne dhe procesorëve të jashtëzakonshëm;

    Procesorët grafikë modernë kanë edhe një grup të vogël udhëzimesh. Çmimi i transferimit të funksioneve të ndërlidhjes: dukshmëria e mundësive të wiklikut të funksioneve, ndërlidhja e grupit të llojeve të të dhënave, e cila është në dispozicion, dukshmëria e funksioneve të gjithanshme dhe e të tjerave. Deyakі operatsії, të tilla si tranzicionet e zgjuara mund të jenë më të shtrenjta, operacione më pak analoge, sa më shumë procesorë të shtrenjtë. Natyrisht, transferimi i kodit të madh nga procesori në procesorin grafik për mendje të tilla të vlerave të kërkuara.

    Numri i bërthamave në një procesor grafik mesatar është dukshëm më i lartë se në një procesor grafik mesatar. Megjithatë, deyakі zavdannya shfaqen si fëmijë të vegjël, sepse ata nuk i lejojnë vetes të rrahin sa duhet numër i madh pjesë, të cilat mund të jepen në formën e një procesori grafik.

    Sinkronizimi Podtrimka midis bërthamave të procesorit grafik, si të shfaqet një burim, madje edhe më pak, dhe më shpesh nga bërthamat e procesorit grafik, si të shfaqet ndryshimi. Sinkronizimi Qia i një procesori grafik me një procesor të jashtëzakonshëm.

Me furnizimin e menjëhershëm të energjisë, si të shkoni për shfaqje në një procesor grafik? Mayte në uvaz, por jo çdo algoritëm është i përshtatshëm për t'u shfaqur në një procesor grafik. Për shembull, procesorët grafikë nuk kanë akses në bashkëngjitjet hyrëse/dalëse, kështu që ju nuk do të jeni në gjendje të përmirësoni produktivitetin e programeve, por ne do ta kemi. Linjat RSS nga interneti, për shfaqjen e procesorit grafik. Megjithatë, shumë algoritme llogaritëse mund të transferohen në procesorin grafik dhe pa mbrojtjen e përpunimit masiv. Më poshtë, ka një numër aplikimesh të algoritmeve të tilla (lista është larg nga përsëritja):

    përmirësim dhe ndryshim në madhësinë e imazhit dhe përmirësim;

    rikonfigurimi shvidke i Fur'є;

    transpozimi i matricave të shumta;

    renditja e numrave;

    Përmbysja e hashit “në ballë”.

Blogu Microsoft Native Concurrency mund të përdoret si shembull i aplikacioneve shtesë, ku sugjerohen fragmente kodi që u shpjegohen atyre për algoritme të reja, të implementuara në C ++ AMP.

C ++ AMP është një kornizë e tërë që mund të përfshihet në depon e Visual Studio 2012, në mënyrë që zhvilluesit në C ++ të mund të përdorin një mënyrë të thjeshtë për të llogaritur në procesorin grafik dhe për të përdorur drejtuesin DirectX 11. ...

Korniza C ++ AMP lejon përshpejtuesit grafikë, karrierës є anekset obscruvalny. Me ndihmën e drejtuesit DirectX 11, korniza C ++ AMP në mënyrë dinamike duket se po përmirësohet. Para magazinës C ++ AMP, ekziston gjithashtu një emulator softuerësh për përshpejtimin dhe një emulator i bazuar në një procesor portativ, WARP, i cili shërben si një version rezervë për sistemet pa procesor grafik, ose me një procesor grafik ose pa Drejtues DirectX 11, dhe disa bërthama dhe udhëzime SIMD.

Dhe tani mund të fillojmë të përditësojmë algoritmin, i cili mund të paralelizohet për t'u shfaqur në një procesor grafik. Zbatimi i vlerës më të ulët do të marrë dy vektorë të së njëjtës vlerë dhe do të llogarisë rezultatin në pikë. E palosshme për t'u treguar më e drejtpërdrejtë:

Void VectorAddExpPointwise (float * së pari, float * së dyti, float * rezultat, gjatësia int) (për (int i = 0; i< length; ++i) { result[i] = first[i] + exp(second[i]); } }

Algoritmi për paralelizimin e algoritmit në një procesor të ndryshueshëm, është e nevojshme të ndash gamën e përsëritjeve në një numër diametrash dhe të nisë një rrjedhë për lëkurën prej tyre. Na caktuan të përfundonim një orë të madhe në artikujt e mëparshëm pikërisht në këtë metodë të paralelizimit të prapanicës sonë të parë me një shaka me numrat kryesorë - ne bach, siç është e mundur të fillojmë, unë mund t'i shkrep rrymat me dorë, ta transferoj grupin e rrjedhës në PLINQ paralel.Per kambio automatike. Mendoni të njëjtën gjë, kur paralelizoni algoritme të ngjashme në një procesor të ndryshueshëm, është veçanërisht e mirë, kështu që nuk e ktheni fabrikën në një fabrikë tjetër.

Për një procesor grafik, rritja është e panevojshme. Procesorët grafikë mund të funksionojnë pa bërthama, kështu që ata mund të trajtojnë transmetimet edhe më shpejt, dhe roli i përzierjes së kontekstit është dukshëm më i ulët, më i ulët se në procesorët e tjerë. Më poshtë udhëzohet një fragment, i cili magnetizon funksionin vikorist paralel_për_secilin nga korniza C ++ AMP:

#përfshi #përfshi duke përdorur konkurencën e hapësirës së emrave; void VectorAddExpPointwise (float * së pari, float * së dyti, float * rezultat, gjatësia int) (array_view avI pari (gjatësia, e para); pamje_array avSecond (gjatësia, e dyta); pamje_array avRezultati (gjatësia, rezultati); avResult.discard_data (); paralel_për_secilin (avResult.shtrirje, [=] (indeks<1>i) kufizoni (amp) (avRezultati [i] = avI pari [i] + fast_math :: exp (avSecond [i]);)); avResult.sinkronizoj (); )

Tani është një pjesë e lëkurës së kodit okremo. Menjëherë, është e dukshme që forma e kokës së ciklit të kokës është ruajtur, por cikli, i cili fitoi me një set, u zëvendësua nga një wiklik me funksionin paralel_për_çdo. Parimi i konvertimit të një cikli në një funksion wiklik nuk është i ri për ne, sepse metoda nuk është e re për ne - tashmë është demonstruar një metodë e tillë nga metodat Parallel.For () dhe Parallel.ForEach () nga TPL librari.

Dal, hyrja dan (parametrat e parë, e dyta dhe rezultati) janë të mbuluara me kopje pamje_array... Klasa array_view përdoret për redaktimin e të dhënave, të cilat transferohen në procesorin grafik (do ta përshpejtoj atë). Parametri standard është lloji i të dhënave dhe madhësia. Shikoni procesorin grafik për udhëzime, se si të përfundoni deri në datën, disa prej tyre do të shkatërrohen në procesorin bitty, ka shumë informacione rreth kopjimit të të dhënave nga procesori grafik, ka shumë memorie rreth karta të mëdha memorie. Çmimi i mbledhjes së kopjeve të array_view - era e keqe nuk do të jetë në gjendje të kopjojë haraçin për klientin dhe vetëm nëse era e keqe është e nevojshme.

Nëse procesori grafik është një vizitor, kopjoni të dhënat përsëri. Kur krijohen shembuj të array_view me një argument të tipit const, garantohet që i pari dhe i dyti do të kopjohen në të dhëna për procesorin grafik, ose nuk do të kopjohen përsëri. Në mënyrë të ngjashme, viclikyuchi hidhni_të dhënat (), mi viklyuchaєmo kopjimi i rezultatit nga kujtesa e procesorit në memorien e primerit, madje edhe kopjimi i rezultatit nga kujtesa e procesorit në memorie

Funksioni paralel_për_çdo pranon shtrirjen, e cila formon formën e të dhënave dhe funksionin për thithjen e elementit të lëkurës në shtrirje. Në shumë aplikacione, u miratua funksioni lambda, i cili u shfaq në standardin ISO C ++ 2011 (C ++ 11). Fjala kyçe limit (amp) udhëzon kompajlerin të rikonfigurojë aftësinë për të shfaqur këtë funksion në procesorin grafik dhe të mundësojë më shumë pjesë të sintaksës C ++, të cilat mund të kompilohen në udhëzimet e procesorit grafik.

Parametri i funksionit Lambda, indeksi<1>ob'єkta është një indeks njëdimensional. Unë jam fajtor për njohjen e masës, por ata janë fitimtarë - ata kanë denoncuar masën për të qenë dyfish (për shembull, duke dhënë formën e të dhënave të dhëna në matricën e dyfishtë), indeksi është gjithashtu fajtor për dyfishin. Prapa e një situate të tillë synohet në një nivel më të ulët.

E lig, metodë wiklik sinkronizoj () Për shembull, metoda VectorAddExpPointwise garanton një kopje të rezultateve nga array_view avResult, e rrotulluar nga procesori grafik, prapa nga grupi i rezultatit.

Në fund të ditës, njohuritë tona të para për C ++ AMP të lehta, dhe tani jemi gati para leksioneve, si dhe deri në aplikacione të mëdha, se si të demonstrojmë në formën e llogaritjeve paralele në procesorin grafik. Vektorët e palosshëm nuk është algoritmi më i bukur dhe jo kandidati më i përshtatshëm për të demonstruar një procesor grafik përmes shpenzimeve të mëdha vitrate për kopjimin e një haraçi. Në anën sulmuese do të shfaqen dy prapanicë.

Shumëzimi i matricës

Prapa e parë "spravzhny", e cila është e lehtë për t'u parë, është një matricë e shumëfishtë. Për zbatimin e një algoritmi kubik jashtëzakonisht të thjeshtë për shumëzimin e matricave, dhe jo algoritmi i Strassen-it, ai është afër kubit ~ O (n 2,807). Për dy matrica: matricat A me madhësi m x w dhe matricat B me madhësi w x n, programi i vikonit fillon dhe rezultati kthehet - matrica C me madhësi m x n:

Matrica e zbrazët Shumëzoni (int * A, int m, int w, int * B, int n, int * C) (për (int i = 0; i< m; ++i) { for (int j = 0; j < n; ++j) { int sum = 0; for (int k = 0; k < w; ++k) { sum += A * B; } C = sum; } } }

Zbatimi mund të paralelizohet me anë të një decalcom dhe në rast paralelizimi, kodi për shfaqjen në një procesor specifik me dridhjen e duhur do të përdoret për të krijuar një cikël paralel. Sidoqoftë, procesori grafik mund të trajtojë një numër të madh bërthamash dhe të funksionojë paralelisht me të njëjtin cikël, nuk është e mundur të kryhet një numër i mjaftueshëm prodhimi, në mënyrë që të gjitha bërthamat të bllokohen nga roboti. Për këtë, nuk ka nevojë të paralelizohen dy cikle thirrjesh, duke lënë në hije ciklin e brendshëm, nuk është i përfshirë:

Matrica e pavlefshme Shumëzoni (int * A, int m, int w, int * B, int n, int * C) (array_view avA (m, w, A); pamje_array avB (w, n, B); pamje_array avC (m, n, C); avC.discard_data (); paralel_për_secilin (avC.shtresa, [=] (indeks<2>idx) limit (amp) (int sum = 0; for (int k = 0; k< w; ++k) { sum + = avA(idx*w, k) * avB(k*w, idx); } avC = sum; }); }

Ky implementim është ende afër herës së fundit të zbatimit të matricave të shumta dhe prapanicës së vektorëve të palosshëm, të cilët u vunë në dukje, pas një vinjete të indeksit, i cili është i dyanshëm dhe i disponueshëm nga cikli i brendshëm për shkak të ngecjes së operatorit. Naskіlki tsya version shvidše për alternativën e fundit, si mund të shkoni te procesori i çikrikut? Shumëzimi i dy matricave (po aq numra) me madhësi 1024 x 1024, versioni i fundit në procesorin e çipit të viconu-së në mes 7350 milisekonda, i njëjti version për procesorin grafik - shkurto çelësin - 50 milisekonda, në më shumë se 147 herë!

Modelimi i një rrënoje grimcash

Zbatoni zgjidhjen e detyrave në procesorin grafik, të përfaqësuar nga visce, apo edhe zbatimi më i thjeshtë i ciklit të brendshëm. Zrozumіlo, kështu që mos e prisni. Në lulëzimin e Native Concurrency, e cila tashmë po vinte në dukje, do të shfaqet prapanica e modelit të ndërveprimeve gravitacionale midis grimcave. Modeli përfshin një numër të pakufizuar crocs; në zonën e lëkurës, llogariten vlerat e reja të elementeve vektoriale; Këtu, vektori i grimcave rritet paralelisht - kur të arrini një numër të madh grimcash (nga një mijë e gjysmë), mund të krijoni një numër të madh ndërtesash, në mënyrë që të mbyllni të gjitha bërthamat e procesorit grafik me një robot.

Baza e algoritmit është zbatimi i vlerës së rezultatit në lidhje me dy grimca, siç tregohet më poshtë, të cilat mund të transferohen lehtësisht në një procesor grafik:

( / w mos ji fitimtar këtu float absDist = dist.x * dist.x + dist.y * dist.y + dist.z * dist.z; float invDist = 1.0f / sqrt (absDist); = dist * PARTICLE_MASS * invDistCube;

Të dhënat në sipërfaqen e lëkurës së modelit janë varg є me koordinata dhe grimca grimcash, dhe si rezultat, një grup i ri llogaritet me koordinatat dhe grimcat e grimcave:

Grimca e strukturës (pozicioni float4, shpejtësia; // zbatimi i konstruktorit, konstruktori i kopjimit dhe // operatori = s limit (amp) i hequr për ekonomi); void simulation_hap (arrit & e mëparshme, grup & më pas, int trupa) (shtrirje<1>ext (trupat); paralel_për_secilin (ext, [&] (indeks<1>idx) kufizoni (amp) (grimca p = e mëparshme; nxitimi float4 (0, 0, 0, 0); për (trupi int = 0; trupi)< bodies; ++body) { bodybody_interaction (acceleration, p.position, previous.position); } p.velocity + = acceleration*DELTA_TIME; p.position + = p.velocity*DELTA_TIME; next = p; }); }

Nga rezultatet e ndërfaqes grafike të disponueshme, modeli mund të jetë edhe më tsikavim. Për më shumë informacion, shihni blogun Native Concurrency për paraqitjet nga ekipi i zhvillimit të C ++ AMP. Në sistemin tim me një procesor Intel Core i7 dhe një kartë video Geforce GT 740M, një model prej 10,000 grimcash do të shfaqet me një shpejtësi prej ~ 2,5 korniza për sekondë (crocs për sekondë) nga versioni i fundit, i cili do të shfaqet në një së dyti, në një procesor modern të optimizimeve të versionit, duke treguar procesorin grafik - madhështinë e rritjes së produktivitetit.

Së pari, duhet të përfundoni ndarjen, është e nevojshme të zhvilloni një veçori më të rëndësishme të kornizës C ++ AMP, pasi është e mundur të përmirësoni produktivitetin e kodit edhe më shumë, si dhe të shfaqet në procesorin grafik. . Procesorët grafik janë në dispozicion programet cache danih(shpesh tituj kujtim, kujtim i përbashkët). Kuptimi, i cili ruhet në të gjithë cache, mund të aksesohet në mënyrë spilloverly nga të gjitha rrjedhat e shfaqjes së një mozaiku (tjegull). Stafi i organizimit mozaik të memories, programet e bazuara në kornizën C ++ AMP, mund të lexojnë të dhënat nga memoria e figurës grafike në memorien e mozaikut, në mënyrë që ajo të shpërndahet, dhe më pas memoria rrjedh në ato nga kujtesa e imazheve grafike pa figurë. Qasja në memorialin e mozaikut është rreth 10 herë më e shpejtë se memoriali i pikturës grafike. Me fjalë të tjera, ju keni є shkak leximin.

Për të siguruar që një version mozaik i paraleles me ciklin t'i kalohet metodës parallel_for_seach. domeni i shtrirjes së pllakave, i cili do të zgjerojë objektin e shtrirjes në shkallë të gjerë në fragmente të mozaikut në shkallë të gjerë, dhe parametrin lambda tiled_index, i cili është origjina e identifikuesit global dhe lokal për rrjedhën në mes të mozaikut. Për shembull, një matricë 16x16 mund të ndahet në fragmente mozaiku me madhësi 2x2 (siç tregohet në foton e vogël më poshtë) dhe duke transferuar funksionin paralel_për_çdo:

Shtrirja<2>matrica (16,16); tjegull_shtresa<2,2>tiledMatrix = matricë.tjegull<2,2>(); paralel_për_secilin (tiledMatrix, [=] (tiled_index<2,2>idx) limit (amp) (// ...));

Lëkura nga rrymat choter të vikonannya, e cila duhet të shtrihet në një dhe ky mozaik, mund të jetë fitimprurëse, e cila mund të ruhet në njolla.

Kur punoni me matrica, në thelbin e procesorit grafik, zëvendësoni indeksin standard të indeksit<2>, jak në vithet e vishçes, ju mund të vikoristovovati idx.global... Regjistrimi kompetent i kujtesës lokale të mozaikut dhe indekseve lokale mund të ruajë sakramentin e produktivitetit. Për ta bërë të qartë kujtesën e mozaikut, nëse ajo ndikohet nga të gjitha rrjedhat e të njëjtit mozaik, ndryshimet lokale mund të bëhen të dukshme duke përdorur specifikuesin tile_static.

Në praktikë, shpesh bëhet fjalë për vikorystyutsya në marrjen e një kujtese të zhveshur, mënyrën e shpërndarjes dhe në blloqet іnіtsіalіzatsії okremіkh її në rrjedhat e reja vikonannya:

Paralel_për_secilin (tiledMatrix, [=] (tiled_index<2,2>idx) limit (amp) (// 32 bajt mund të përdoren nga të gjitha rrymat në bllokun tile_static int local; // cakto një vlerë elementit për këtë rrymë local = 42;));

Natyrisht, nëse jeni një vizitor nga një memorie përkujtimore, nëse mund ta shpërndani atë, mund ta korrigjoni atë vetëm në rastin e aksesit të sinkronizuar në të gjithë kujtesën; në mënyrë që përrenjtë të mos jenë fajtorë për t'u kthyer në kujtesë, doket nuk do të krijohen nga njëri prej tyre. Sinkronizimi i prurjeve në vizitën e mozaikut për objekte shtesë tjegull_barrier(klasa e barrierës nga biblioteka TPL) - mund të keni erë të keqe nëse mund të vazhdoni të klikoni në metodën tile_barrier.Wait (), e cila është më e vështirë nëse të gjitha transmetimet kalojnë përmes tile_barrier.Wait. Për shembull:

Paralel_për_secilin (tiledMatrix, (tiled_index<2,2>idx) limit (amp) (// 32 bajt mund të përdoren nga të gjitha thread-ët në bllokun tile_static int local; // cakto një vlerë për artikullin për këtë thread local = 42; // idx.barrier është një shembull i tile_barrier idx .barrier.wait (); // Tani mund të kthehemi te grupi i "lokaleve"

Tani është ora për të aktivizuar njohuritë për një prapanicë specifike. Le t'i drejtohemi zbatimit të matricave të shumta, vikonike pa ruajtur organizimin mozaik të kujtesës, dhe para optimizimit të ri, si të përshkruhet. Supozoni se madhësia e matricës është shumëfish i 256 - nuk na lejon të parashikojmë blloqet 16 x 16. Natyra e matricave lejon mundësinë e një shumëzimi bit, dhe ne mund të përshpejtojmë numrin e veçori të veçanta (në fakt, matricat ndahen në blloqe, bazuar në llojin e optimizimit Cache-i i procesorit efektiv fitimtar).

Thelbi i të gjithë priyom është që të bëhet në ofensivë. Për të njohur C i, j (elementin në rreshtin i dhe në 100 j në matricën e rezultatit), është e nevojshme të llogaritet mbledhja skalare në A i, * (rreshti i i-të i matricës së parë) dhe B. *, j (rreshti j-të në matricën tjetër). Sidoqoftë, numri i krijimeve skalare të pjesshme të një rreshti dhe njëqind për qind e rezultateve pasuese llogariten në mënyrë ekuivalente. Mund të përdorim cilësimin për konvertimin e algoritmit me shumë matricë në një version mozaik:

Matrica e pavlefshme Shumëzoni (int * A, int m, int w, int * B, int n, int * C) (array_view avA (m, w, A); pamje_array avB (w, n, B); pamje_array avC (m, n, C); avC.discard_data (); paralel_për_secilin (avC.extent.tile<16,16>(), [=] (indeksi_tjegull<16,16>idx) kufizoni (amp) (int shuma = 0; int localRow = idx.local, localCol = idx.local; për (int k = 0; k

Thelbi i optimizimit, i cili mund të përshkruhet në faktin se lëkura është e mirë në mozaik (për një bllok prej 16 x 16 ka 256 rrjedha), inicializimi i një elementi në 16 x 16 kopje lokale të fragmenteve në pjesën e jashtme. matricat A dhe B. Rrjedha e lëkurës në një rresht mozaiku Nga blloqet cich, megjithëse të gjitha rrjedhat menjëherë do të rrotullohen deri në rreshtin e lëkurës dhe kapësen e lëkurës 16 herë. Një sutta e tillë pidhid redukton numrin e kafshëve të egra në kujtesën kryesore.

Për të llogaritur elementin (i, j) të matricës, rezultatin, algoritmi duhet të përsërisë rreshtin i-të të matricës së parë dhe j-tëqindtën e një matrice tjetër. Nëse rrjedhat e mozaikut 16x16 paraqiten në diagrame me k = 0, zonat e hijezuara të matricave të para dhe të tjera do të lexohen në memorie dhe më pas do të shpërndahen. Potenciali për llogaritjen e elementit (i, j) të matricës në rezultat, duke llogaritur mbledhjen skalare të pjesshme të k elementëve të parë nga rreshti i-të dhe j-tëqindta e matricave dalëse.

Në të njëjtën kohë, krijimi i një organizate mozaiku do të sigurojë një prift të madh të produktivitetit. Versioni i mozaikut të matricave të shumta për t'u shfaqur për një version të thjeshtë dhe me huazim afërsisht 17 milisekonda (për matrica të qeta me madhësi 1024 x 1024), por në 430 herë për një version, duhet të shfaqet në një procesor të jashtëzakonshëm!

Para së gjithash, përfundoni diskutimin me kornizën C ++ AMP, ne do të dëshironim të përdorim mjetet (në Visual Studio), si nga zhvilluesit e porositur. Visual Studio 2012 promovon përditësimin për procesorin grafik (GPU), por ju lejon të vendosni pika kontrolli, deri në grumbullin e wiki-ve, të lexoni dhe ndryshoni kuptimin e ndryshimeve lokale (që ju lejon të krijoni simulatorë të avancuar vizualë për GPU); Po , ekziston mundësia e vlerësimit të figurës, duke përfituar nga shtimi i operacioneve paralele për shkak të përdorimit të procesorit grafik. Për informacion shtesë në lidhje me mundësitë e përmirësimit me Visual Studio, shkoni te artikulli "Pokrokovy posibnik. Përfitoni nga programet "C ++ AMP" në sitin MSDN.

Alternativa për llogaritjen në procesorin grafik V.NET

Deri në javët e fundit, statistikat treguan vetëm të pasmet e mia C ++, një protestë e mënyrave për të rritur presionin e procesorit grafik në shtesat kerovan. Një nga mënyrat është përdorimi i mjeteve në lidhje me modalitetet, gjë që lejon robotin të rilidhet me bërthamat GPU në komponentët me rrënjë të ulët C ++. Është një ide e mirë të shkoni në heshtje, nëse dëshironi të përdorni kornizën C ++ AMP, ose mund të përdorni gjithashtu komponentët C ++ AMP në shtesat kerovan.

Mënyra e parë është të krijoni një bibliotekë me një procesor grafik me një kod të kerovizuar. Nini ka disa biblioteka të tilla. Për shembull, GPU.NET dhe CUDAfy.NET (ofendime dhe propozime tregtare). Më poshtë është pjesa e pasme e depove GPU.NET GitHub, e cila demonstron zbatimin e krijimit skalar të dy vektorëve:

Zbrazëti statike publike MultiplyAddGpu (a dyfishtë, b, dyfishtë c) (int ThreadId = BlockDimension.X * BlockIndex.X + ThreadIndex.X; int TotalThreads = BlockDimension.X * GridDimension.X; për (int ElementIdx = ThreadI

Po marr ide, është më e lehtë dhe më efektive të zotërosh zgjerimin e filmave (në bazë të C ++ AMP), të mos fillosh të organizosh së bashku me modalitetet në bazë të bibliotekës dhe të sjellësh ndryshime në movi IL.

Gjithashtu, duke qenë se kemi parë mundësitë e programimit paralel në .NET dhe në GPU, është melodioze, askush nuk humbi në idenë e organizimit të llogaritjeve paralele në një mënyrë të rëndësishme për të rritur produktivitetin. Në serverët dhe stacionet e punës bagatoh, në të gjithë dritën e tij, nuk ka nevojë të llogaritet puna e mundimshme e procesorëve të jashtëzakonshëm dhe grafikë, por ata nuk kapen pas tij dhe shtesat thjesht nuk i shqetësojnë.

Biblioteka Paralele e Detyrave na jep mundësinë unike për të përfshirë në robot të gjitha bërthamat e procesorit qendror, nëse do të dëshironim të shihnim problemet e sinkronizimit, shtypjen dërrmuese të uzinës dhe dizajnin e paarsyeshëm të robotit.

Korniza C ++ AMP dhe bibliotekat e mëdha të organizimit të llogaritjeve paralele në procesorin grafik mund të aplikohen me sukses në përpunimin paralel të qindra bërthamave të procesorit grafik. Nareshty, є, i pa raportuar më parë, mundësia e njohjes së rritjes së produktivitetit është për shkak të disponueshmërisë së teknologjive moderne për reduktimin e llogaritjes, të cilat, në orën e fundit, janë modifikuar për një nga drejtimet kryesore në zhvillimin e informacionit. .

Shitësi me pakicë duhet të jetë në gjendje të vikoristovouvati në mënyrë efektive procesorin grafik (GPU), kështu që programi nuk u galvanizua dhe nuk vikonuvala përdor robotin.

Rregulloni parametrat e vizualizimit të GPU

Nëse programi juaj është një galm, atëherë një pjesë ose të gjitha kornizat e përditësimit të ekranit do të zgjasin më shumë se 16 milisekonda. Ju mund të shtoni vizualisht kornizat e përditësuara në ekran, mund të shikoni një opsion të veçantë (Profile GPU Rendering) në bashkëngjitje.

Ju keni mundësinë të paraqiteni, duke marrë një orë për të marrë hua një foto të kornizave. Unë mendoj se do të duhen 16 milisekonda për të investuar.

Opsioni është i disponueshëm në shtesën, i riparuar nga Android 4.1. Rrëshqitja e bashkëngjitjes aktivizon modalitetin e shitjes me pakicë. Në ndërtesat shtesë nga versioni 4.2, disponohet mënyra standarde e lidhjes. Për të aktivizuar idenë në Nalashtuvannya | Rreth telefonit dhe shtatë clasamo zhvillimi një nga një Numri i palosshëm.

Mesazhi i aktivizimit kërkohet më parë Opsionet e shitjes me pakicë kjo është pika e njohur Rregulloni parametrat e vizualizimit të GPU(Përkthimi i profilit të GPU-së) Në opsionin fusion wіknі vibrate Në ekran në stovpchikiv viglyadi(Në ekran si shirita). Në krye të listës, grafikët shfaqen në krye të programeve që ekzekutohen.

Ju mund të protestoni jo vetëm programin tuaj, ale dhe іnshi. Nisni një program dhe rregulloni atë. Prisni një orë që roboti të jetë në pjesën e poshtme të ekranit dhe shtypni grafikun për të parë se si funksionon. Dukshmëria horizontale për një orë. Vertikalisht, ora i tregohet kornizës së lëkurës në milisekonda. Kur ndërhyjnë me shtimin e smogut vertikal, ato pikturohen në ekran, z'yavlyayutsya e keqe në të djathtë, duke treguar produktivitetin e kornizës në shtrirje për një orë. Kozhen takiy qindra kafshë є në një pozë për të shtuar një ekran. Chim vishcha vizota stovpchik, më shumë se një orë për të shkuar në vidmalovannya. Vija e hollë e gjelbër që funksionon dhe shfaq 16 milisekonda për kornizë. Me një renditje të tillë, duhet të jeni pragmatik përpara se grafiku të mos dridhet për një rresht të plotë kur instaloni programet tuaja.

Versioni i përmirësuar i grafikut është i kuptueshëm.

Vija e gjelbër shfaqet në 16 milisekonda. Skobi u rrëzua me 60 korniza për sekondë, kujdestari i lëkurës së grafikës ishte fajtor për pikturën poshtë vijës. Në disa momente, njëqind për qind do të shfaqet pas të madhit dhe nëse kërkojmë një vijë të gjelbër. Tse do të thotë programe galmuvannya. Kozhen stovpets është e zezë, vjollcë (Lollipop dhe vishche), chervonia dhe ngjyra portokalli.

Ngjyra e zezë shfaqet në një orë Pamje.

Fioletova pjesë є orë, e shpenzuar për transferimin e burimeve në transmetimin e transmetimit.

Chervoniy kolir є orë për pikturë.

Shfaqja e ngjyrës portokalli, e cila mori një orë që procesori të pastrohet, nëse GPU-ja përfundon robotin e saj. Fito є dzherelom probleme me vlera të mëdha.

Mësoni teknika të veçanta për ndryshimin e opsionit në një procesor grafik.

Përmirësoni shkallën e mbitërheqjes së GPU

Nuk lejohet të mësohet, sepse shpesh është njësoj të grish një dhe të njëjtin ekran dilenka (që roboti ta humbasë). Unë e di ydemo në Opsionet e shitjes me pakicë kjo është pika e njohur Përmirësoni shkallën e mbitërheqjes së GPU(Debug GPU Overdraw), i cili është hapi tjetër. Në opsionin fusion wіknі vibrate Trego zoni sipër(Trego zonat e mbitërheqjes). Mos shkelmoni! Elementet Deyaki në ekran ndryshojnë ngjyrën.

Kthehuni derisa të jeni një program dhe përpiquni të ndiqni robotin e tij. Ngjyrosni së bashku me skedarët problematikë në programet tuaja.

Ngjyra Yakshko në një shtesë nuk ndryshon, gjithçka është e qartë. Nuk ka mbivendosje të një ngjyre në krye të njërës.

Ngjyra e zezë tregon se si një top është pikturuar në majë të topit të poshtëm. Mirë.

Zeleniy kolіr - bluaj dy. Është e nevojshme të mendoni për optimizimin.

Ngjyra me brirë - bluaj tre. Gjithçka është edhe më e kalbur.

Chervoniy kolіr - bluaj shumë zhvillim. Nuk shkoi mirë.

Ju mund të rishikoni në mënyrë të pavarur programin tuaj për të bërë shaka me ligësi problematike. Krijoni aktivitet dhe vendoseni në përbërësin e tij TextView... Jepni elementin rrënjësor të mesazhit me tekst pasi trupi është në atribute android: sfond... Do të shihni hapin tjetër: një top i vogël aktiviteti është kultivuar me një ngjyrë. Pastaj mbi të shfaqet një top i ri TextView... Përpara fjalimit, për arsye të mirë TextView pikturoj më shumë tekst.

Në disa momente, mbivendosja e ngjyrave nuk është unike. Ale për të parë të qarë, ju vetë vendosni sfondin për listën ListView scho merr hua të gjithë fushën e veprimtarisë. Sistemi do të jetë në gjendje të lëvizë robotin, nëse topi i poshtëm i aktivitetit nuk godet coystuvach nicoli. Dhe nëse shtoni një vijë flokësh për elementin e lëkurës në listë me sfondin tuaj, atëherë bëni një pushim.

Pak gëzim. Mendoni për metodën setContentView () metodë wiklik, si rregullimi i ekranit perisuvannya me ngjyrën e atyre. Ju gjithashtu mund të më ndihmoni të marr një kopje të mbivendosjes së ngjyrave:

GetWindow () SetBackgroundDrawable (null);

Llogaritur në procesorë grafik

Teknologjia CUDA (Compute Unified Device Architecture) është një arkitekturë softuerike-hardware që lejon të kryhet llogaritja e procesorëve grafikë NVIDIA, duke lejuar përdorimin e teknologjisë GPGPU (shumica e llogaritjeve në kartat video). Arkitektura e CUDA u shfaq për herë të parë në treg me lëshimin e çipit të gjeneratës së tetë NVIDIA - G80, dhe në të gjitha seritë e ardhshme të çipave grafikë, të cilët janë fitimtarë në familjet e GeForce, ION, Quadro dhe Tesla.

CUDA SDK lejon programuesit të zbatojnë në një dialekt të thjeshtuar të veçantë të programimit me algoritme, të disponueshme në procesorët grafikë NVIDIA dhe të përfshijnë funksione të veçanta të tekstit në programet në C. CUDA i jep shitësit mundësinë për të organizuar një provim qeveritar për të organizuar aksesin në një grup udhëzimesh për një kartë grafike dhe një memorie keruvati, për të organizuar një llogaritje të re paralele të palosshme.

Historia

2003 fq. Intel dhe AMD morën pjesë në korrierin spilny për procesorin e nevojshëm. Për pak rock, si rezultat i overclocking, suttas janë rritur, veçanërisht me lëshimin e Intel Pentium 4.

Për një rritje të frekuencave të orës (nga 2001 në 2003, frekuenca e orës së Pentium 4 shkoi nga 1.5 në 3 GHz), dhe koristuvaçi u kënaq me dhjetë pjesë të një gigahertz, pasi i çuan virobnikët në treg (nga 2003 deri në 2005) 3.8 GHz).

Arkitektura, e optimizuar për frekuencat e orës së lartë, që vetë Prescott, u bë shumë e vështirë për t'u parë, dhe jo vetëm pak. Virobnikët e chіpіv kanë dalë nga rruga e tyre për shkak të problemeve të ligjeve moderne të fizikës. Analistët Deyaki kanë profetizuar se ligji i Moore do të përfundojë. Ale tsyo nuk u mërzit. Ligji origjinal shpesh kundërshtohet me numrin e transistorëve që shtrihen në sipërfaqen e bërthamës së silikonit. Ora e fundit e rritjes së numrit të transistorëve në CPU u mbingarkua në lidhje me rritjen e produktivitetit - kërkoi një ndjenjë shqisash. Pak më vonë situata është përshpejtuar. Zhvilluesit e arkitekturave të CPU-së kanë shkuar drejt ligjit të rritjes së shpejtë: numri i transistorëve, i cili kërkohet për rritjen e kërkuar të produktivitetit, është bërë gjithnjë e më shumë, duke çuar në shkretëtirë.

Arsyeja, përmes së cilës virobnikët e GPU nuk u mbërthyen me të gjithë problemin, është edhe më e thjeshtë: procesorët qendrorë ndahen për produktivitet maksimal në bazë të udhëzimeve, pasi ndryshojnë të dhënat (si një numër i plotë numrash, kështu që shumë numra), para se të hollë. syth. Deri në fund të ditës, zhvilluesit do të jenë në gjendje të ruajnë paralelizëm më të madh të udhëzimeve - në mënyrë që ata të jenë në gjendje të shohin më shumë udhëzime paralelisht. Kështu, për shembull, nga Pentium ekzistonte një vikonannya superscalar, nëse për mendjet deyaky është e mundur të vykonuvati dy udhëzime për orë. Pentium Pro ka bërë të mundur optimizimin e përpunimit të blloqeve llogaritëse pas një lëshimi pas shërbimit të udhëzimeve. Problemi është se, paralelisht me rrjedhën e fundit të udhëzimeve, nuk ka asnjë provë për cenim, rritja e numrit të blloqeve llogaritëse nuk e lejon lojtarin të luajë, por për një pjesë më të gjatë të orës, të gjithë një erë e keqe. është e lehtë për t'u kapur.

GPU-ja e robotit është mjaft e thjeshtë. Vona polyagaє kanë marrë një grup poligonesh nga njëra anë dhe një gjeneratë grupesh pikselësh nga njëra anë. Shumëkëndëshat dhe katrorët e katrorëve janë një nga një, kështu që ato mund të priten paralelisht. Në një renditje të tillë, GPU mund të shohë një pjesë të madhe të kristalit në blloqet llogaritëse, si, në pamjen nga CPU, për të qenë vërtet fitimtar.

GPU-të mund të shihen si CPU. Qasja në memorie në GPU është shumë më pak se lidhjet - nëse lexohet texel, atëherë përmes ciklit të cikleve të orës lexohet texeli i dyshimtë; Nëse regjistroni një piksel, përmes disa shiritave do të mund të regjistroni një këngë. Duke organizuar në mënyrë të arsyeshme kujtesën, ju mund të rregulloni produktivitetin, afër kapacitetit teorik të xhiros. Kjo do të thotë që GPU, në pamjen e CPU-së, nuk është në formën e një cache madhështore, por roli i një poligoni në operacionet e përshpejtuara të teksturës. Gjithçka që nevojitet, i gjithë numri i cilobajteve, si të hakmerret numri i texeleve, si të shfaqet në filtrat blu dhe trilian.

GPU-të e para

Naypershі provoi një ruajtje të tillë ishin të ndërlidhura me pajisjet zëvendësuese të disa funksioneve të aparatit, të tilla si rasterizimi dhe z-buferimi. Alle në shekullin e nëntë, me shfaqjen e shaders, filloi të shfaqet numri i matricave. 2003 fq. në SIGGRAPH, seksioni ishte i dukshëm në GPU dhe e quajti atë GPGPU (Llogaritja me qëllime të përgjithshme në GPU).

BrookGPU është një përpilues për transmetimin e programeve Brook, aplikacione për shfaqjen e llogaritjeve jo grafike në GPU. Para shfaqjes së tregtarëve, si dhe mundësive të çipave video për llogaritje, ata zgjodhën një nga dy API-të e avancuara: Direct3D dhe OpenGL. Çmimi i GPU-së ishte ndërthurur seriozisht, dhe shaderët dhe teksturat iu shtuan grafikës 3D, se si programimi paralel i fisnikërisë nuk ishte i lidhur me grep, era e keqe e fijeve dhe bërthamave. Brook zmіg ju ndihmon të shpëtoni prej tyre. Numri i transmetimeve të zgjeruara në Filmat C, të ndara në Universitetin Standford, u prezantuan në programet e API-së së parëndësishme dhe ato iu prezantuan shikuesve të procesorit paralel. Përpiluesi ka përpunuar skedarin .br nga kodi C ++ dhe ka zgjeruar kodin viral, lidhjet në bibliotekë me DirectX, OpenGL ose x86.

Kur u shfaq Brook, ai mendoi për interesin edhe nga NVIDIA dhe ATI, pasi doli të ishte një sektor i ri - llogaritjet paralele të bazuara në imazhet video.

Pastorët e Nadal deyaki nga projekti Brook u zhvendosën në ekipin e zhvillimit të NVIDIA për të paraqitur një strategji softuerike-hardware të llogaritjes paralele, duke krijuar një pjesë të re të tregut. Sfida e parë e iniciativës NVIDIA ishte ata që i njohin mrekullisht të gjitha mundësitë e GPU-ve të tyre përpara përdorimit të GPU-ve të tyre, dhe API grafike nuk ka nevojë, dhe ju mund të përdorni drejtuesin e asistuar nga hardueri pa një shofer. Rezultati i ekipit Zusil është NVIDIA CUDA.

Zonat e ruajtjes paralele të GPU

Kur transferoni llogaritjen në GPU, bagaton do të arrijë 5-30 herë më shpejt, zakonisht për shkak të procesorëve të zgjuar dhe universal. Shumica e numrave (afër 100 herë më shpejt dhe më shumë!) Mund të arrihen në kod, gjë që është më mirë të shkosh për blloqe shtesë SSE, dhe akoma më shumë për GPU.

Është thjesht një çështje deyakі, por hidhni kodin sintetik në GPU kundrejt kodit të vektorizuar nga SSE në CPU (sipas NVIDIA):

Mikroskopi fluoreshente: 12 x.

Dinamika molekulare (calc me forcë jo të lidhur): 8-16x;

Elektrostatika (sasi e drejtpërdrejtë dhe e madhe parash për Varësen): 40-120x dhe 7x.

Tabela, ashtu si NVIDIA, do të tregojë të gjitha prezantimet, të cilat tregojnë shpejtësinë e procesorëve grafikë dhe atyre qendrorë.

Ndryshimet në shtesat kryesore, të cilat mund të llogariten në GPU: analiza dhe përpunimi i imazheve dhe sinjaleve, simulimi i fizikës, matematika numerike, biologjia numerike, analiza financiare, bazat e të dhënave, analiza e të dhënave, simulimet e dinamikës së gazit, ekrani i kompjuterit, minierat e të dhënave , kinema dixhitale dhe telematika, simulimet elektromagnetike, sistemet gjeoinformative, planifikimi i avancuar, planifikimi i rezonancës, simulimi i dinamikës molekulare të ruajtjes së molekulave të lëngshme, kimia kuantike, kursi i shkëmbimeve, vizualizimi, radarët, modelet hidrodinamike (simulimi i rezervuarit), inteligjenca individuale, analiza e të dhënat satelitore, zhvillimi sizmik i ultrazërit

Perevagi dhe obmezhennya CUDA

Me një shikim të programuesit, një transportues grafik - një grup fazash të përpunimit. Blloku i gjeometrive gjeneron tricite, dhe blloku i rasterizimit janë pikselët, të cilët shfaqen në monitor. Modeli tradicional i programit GPGPU viglada është si më poshtë:

Për të transferuar llogaritjen në GPU brenda kornizës së një modeli të tillë, kërkohet një hyrje e veçantë e veçantë. Navigoni një nga një duke palosur dy vektorë në vimagatime për të krijuar një figurë në ekran ose në një buffer të ekranit të vonë. Figura është renditur, ngjyra e pikselit të lëkurës është llogaritur për programin (pixel shader). Programi lexon të dhënat hyrëse nga teksturat e pikselit të lëkurës, i ruan ato dhe i shkruan në buferin e daljes. Dhe të gjitha operacionet numerike kërkohen për faktin se një program i veçantë celular mund të regjistrohet nga një operator!

Gjithashtu, GPGPU është siguruar për llogaritjen e shenjës së huaj të parasë për numrin e madh të njerëzve që janë aktualisht në treg. Kjo nuk mjafton, madje edhe një shader pikselësh është vetëm një formulë për sasinë e hapësirës së një piksel në një piksel në koordinatat e tij, dhe për një shader piksel, mund t'i shkruani këto formula me një sintaksë C-more. Metodat e hershme GPGPU janë një truk i ndërlikuar për të lejuar që presioni i GPU-së të jetë fitimtar, por pa ndonjë lehtësi. Të dhënat përfaqësohen nga imazhet (teksturat), dhe algoritmi përfaqësohet nga procesi i rasterizimit. Është e nevojshme të ketë një kuptim të veçantë dhe madje një model specifik të kujtesës dhe prezantimit.

Arkitektura e harduerit dhe softuerit për llogaritjen në GPU të kompanisë NVIDIA mund të shihet nga modelet kryesore GPGPU, në mënyrë që të mund të shkruani programe për GPU me ndihmën e sintaksës standarde, duke treguar aksesin më të gjerë të mundshëm në burime të ndryshme. CUDA nuk qëndron në formën e API-ve grafike, por ka vetëm disa veçori të veçanta që janë caktuar posaçërisht për llogaritjen e emërtimit të huaj.

CUDA ringarkohet përpara qasjes tradicionale të transferimit të GPGPU

CUDA do të sigurojë akses derisa të shpërndahet midis rrymave të memories me një madhësi prej 16 Kb për një multiprocesor, i cili mund të përdoret për organizimin e një cache me një fluks të gjerë tymi, ndonjëherë me vibratorë tekstualë;

Transmetim më efektiv i të dhënave ndërmjet mesazheve sistemike dhe video;

Dukshmëria e nevojës për API grafike me vitrate të sipërme dhe të sipërme;

Linjat e adresimit, mbledhjes dhe shpërndarjes së kujtesës; Mundësia për të shkruar për adresa të caktuara;

Mbështetje harduerike për të gjitha operacionet dhe bit.

Ndërlidhjet kryesore CUDA:

dukshmëria e pamjes së rekursionit për funksionet e ndërrueshme;

Gjerësia minimale për një bllok me 32 fije;

Mbyll arkitekturën e CUDA, e cila është për shkak të NVIDIA.

Nga pikat e dobëta të programit që qëndrojnë pas ndihmës së metodave të mëparshme GPGPU, ato, por algoritmet nuk i kapin blloqet e shaderëve të kulmit nga pjesa e përparme e arkitekturave të pakonfiguruara, buferi ruhet, teksturat janë të meta, por gabimi Mund të aktivizohet deri në GPGPU: aftësi të pamjaftueshme harduerike vikorystannya, të rrethuara nga gjerësia e brezit të memories së errët, funksionimi i operacionit të shpërndarjes (vetëm grumbullimi), duke shmangur dukshmërinë e API-së grafike.

Transferimet kryesore CUDA bazohen në metodat e mëparshme GPGPU, sepse arkitektura është krijuar për përpunimin efikas të llogaritjeve jografike në GPU dhe transferimin e programimit C pa një algoritëm transferues grafik për grafikë konceptuale. CUDA është një mënyrë e re e llogaritjes në GPU, por jo një API grafike vicioze, por promovon aksesin në memorie (shpërndaje ose grumbullim). Kjo arkitekturë plotësohet nga të metat e GPGPU dhe vicorist të gjitha blloqeve viconavch, si dhe zgjerimi i mundësive për zhvillimin e matematikës së përgjithshme dhe operacionet e bitmap.

CUDA është i hapur për veçoritë e harduerit që nuk disponohen nga API-të grafike, si p.sh. memoria që mund të shpërndahet. Tse memorie e një vëllimi të vogël (16 kilobytes për multiprocesor), deri në blloqet e hyrjes së rrymave. Vaughn lejon keshuvati dania, e cila është më së shpeshti fitimtare, dhe ju mund të ruani një shpejtësi më të lartë, sipas vibrok tekstural zëvendësues për të gjithë zelltari. Në fakt, unë ul ndjeshmërinë ndaj kapacitetit të xhiros së algoritmeve paralele në shtesat bagatioh. Për shembull, është shumë e rëndësishme për algjebrën lineare, rikrijimin e shpejtë të Fur'є dhe filtrat e përpunimit të imazhit.

CUDA më e mirë ka qasje në memorie. Kodi i programit për API-të grafike për të shfaqur të dhënat nga një shikues me 32 vlera me një pikë lundruese të saktësisë së vetme (vlera RGBA në të njëjtën kohë për të gjithë objektivin e paraqitjes) është nga një distancë e gjatë nga zona e synuar dhe CUDA do të marrë një hyrje të shpërndarë - nëse nuk ka nevojë të shkruani një adresë. Kalime të tilla lejojnë shfaqjen e disa algoritmeve në GPU, të cilat janë të pakëndshme efikase për t'u zbatuar për metoda të tjera GPGPU të bazuara në API grafike.

Gjithashtu, API grafike në rendin e përgjithshëm ruan të dhënat në teksturat, si dhe në paketimin e përparmë të vargjeve të mëdha nga teksturat, si dhe algoritmin e përshpejtuar dhe adresimin special. Dhe CUDA ju lejon të lexoni të dhënat në adresë. Një sfidë tjetër për CUDA është optimizimi i shkëmbimit të të dhënave midis CPU dhe GPU. Dhe për zhvilluesit që duan të kenë akses në një nivel të ulët (për shembull, përpara orës së shkrimit të programit më të fundit), CUDA promovon mundësinë e programeve me rrënjë të ulët në asemblerë.

CUDA jo e plotë

Një nga mangësitë e panumërta të CUDA është transportueshmëria e dobët. Arkitektura e origjinalit vetëm në videon e kompanisë nuk është për të gjithë, por riparohet me seritë GeForce 8 dhe 9 dhe Quadro, ION dhe Tesla më të fundit. NVIDIA po synon për 90 milionë video të mrekullueshme CUDA.

Alternativa për CUDA

Një kornizë për shkrimin e programeve kompjuterike, e lidhur nga llogaritjet paralele në procesorë të ndryshëm grafikë dhe qendrorë. Në kornizën OpenCL, ekziston një gjuhë programimi që bazohet në standardet C99 dhe një ndërfaqe softuerike (API). OpenCL do të ruajë paralelizmin nëse ka më pak udhëzime dhe më pak kohë dhe më pak kohë për zbatimin e teknologjisë GPGPU. OpenCL Në bazë të një standardi të pranuar, ai nuk është i licencuar për t'u licencuar.

Meta OpenCL është projektuar për të plotësuar OpenGL dhe OpenAL, si dhe standarde transparente galuse për grafikë dhe zë të parëndësishëm kompjuterik, bazuar në aftësitë e GPU. OpenCL është zhvilluar dhe miratuar nga konsorciumi jo-tregtar i Grupit Khronos, i cili përfshin shumë kompani të mëdha, duke përfshirë Apple, AMD, Intel, nVidia, Sun Microsystems, Sony Computer Entertainment dhe të tjera.

CAL / IL (Llogaritja e shtresës së abstraksionit / gjuha e ndërmjetme)

Teknologjia ATI Stream - një grup i tërë i teknologjive harduerike dhe softuerike, të cilat lejojnë vikoristovuyu procesorë grafikë AMD, me një procesor qendror, për programe softuerësh të përshpejtuar (jo vetëm grafikë).

Zonat e ruajtjes së programeve ATI Stream є që mund të përdoren për të llogaritur burimin, të tilla si analiza financiare ose përpunimi i të dhënave sizmike. Procesori streaming Vikoristannya lejoi rritjen e shpejtësisë së burimeve aktuale financiare në 55 herë në rastin e zgjidhjeve të të njëjtit operacion me ndihmën e privimit të procesorit qendror.

Teknologjia ATI Stream e NVIDIA nuk është më një konkurrent i fortë. CUDA dhe Stream janë dy teknologji të ndryshme, të cilat qëndrojnë në linjat më të fundit të zhvillimit. Programimi për produktet ATI nabagato skladnishe - їхnya mova shvidshe nagadu montues. CUDA C, në djallin tim, nagato bolsh viskorivneva mova. Shkrimi në një dizajn të ri është më i thjeshtë. Për kompanitë e mëdha, çmimi është edhe më i rëndësishëm. Për sa i përket produktivitetit, mund të përmendim edhe rëndësinë e produkteve ATI, por jo të zgjidhjeve NVIDIA. Ale di gjithçka për të bërë deri në pikën e përpjekjes për ta hequr qafe atë.

DirectX11 (DirectCompute)

Ndërfaqja e programimit për informacion shtesë, e cila përfshihet në depon e DirectX - një grup API nga Microsoft, emërtime për robotët në kompjuterët IBM PC-sumy për sistemet operative të familjes Microsoft Windows. Vlerat DirectCompute për llogaritjen e numrit të shenjave në procesorët grafikë, duke qenë zbatimi i konceptit GPGPU. Një koleksion librash DirectCompute të botuara në depon e DirectX 11, duke u bërë protestues i disponueshëm për DirectX 10 dhe DirectX 10.1.

NVDIA CUDA në Qendrën Shkencore Ruse.

Cung në gjoks 2009 f. Modeli i softuerit CUDA është i disponueshëm në 269 universitete. Në Rusi, kurset kryesore nga CUDA lexohen në Universitetet Shtetërore të Moskës, Shën Petersburg, Kazan, Novosibirsk dhe Perm, Universitetin Ndërkombëtar të Pezullimit të Natyrës dhe Popullore "Dubna", Universiteti Shtetëror i Moskës për Inxhinierinë Bërthamore, im. V. G. Shukhova, MDTU im. Bauman, RGTU im. Mendelev, Qendra e Shkencës Ruse "Instituti Kurchatovsky", Qendra Ndërrajonale Superkompjuterike e Akademisë së Shkencave Ruse, Instituti Teknologjik Taganroz (TTI SFU).

Flisni për llogaritjen paralele në GPU, ne jemi fajtorë për kujtesën, në çdo orë është e gjallë, gjatë gjithë vitit, nëse gjithçka në botë është përshpejtuar, është e njëjta gjë për ju në orën tjetër, nuk do të ndodhë. , pasi është pa pushim. Çdo gjë që është e fortë është e lidhur me saktësinë dhe shpejtësinë e lartë të përpunimit të informacionit, në mendje të tilla nuk do të jemi pa nevojë për mjete për të përpunuar të gjithë informacionin, pasi kemi çdo rishikim të informacionit, kujtesës, që themelimi është i nevojshëm jo vetëm për organizatat e mëdha, por edhe për megakorporatat, krijimi i institucioneve të tilla menjëherë do të kërkojë radhët e koristuvaçëve, të cilët shohin jetën e tyre në kompjuterët e tyre, personalisht. Shfaqja e NVIDIA CUDA nuk ishte hyjnore, por, në mënyrë më efikase, e veshur, kështu që, si një pazar, do të ishte e nevojshme të shtohej një punë e rëndësishme në PC, jo më herët. Roboti, i cili më parë merrte më shumë se një orë, tani zë shumë hilin, me sa duket, në përputhje me pamjen e prapambetur të të gjithë botës!

Gjithashtu llogaritet në GPU

Regjistrim në GPU-në e zyrës qendrore të GPU-së për regjistrimin e ndërmarrjeve teknike, shkencore, nënbiznes. Llogaritja në GPU përfshin regjistrimin e CPU-së dhe GPU-së me një dridhje të ndryshme midis tyre dhe vetvetes: pjesa e fundit e programit do të marrë CPU-në, në atë kohë, kur llogaritja e mundimshme bëhet e mbingarkuar nga GPU. Menaxherët e të gjithë sistemit do të mund të fillojnë punën paralelisht, në mënyrë që të prodhojnë më shumë informacion dhe të ndryshojnë një orë para fillimit të procesit, sistemi do të bëhet më produktiv dhe mund të bëhet më produktiv menjëherë, më pak më herët. Megjithatë, për të arritur një sukses të tillë nuk ka nevojë për një pajisje harduerike për të arritur një sukses të tillë, ky lloj softueri kërkon siguri shtesë të softuerit, pasi programi mund të transferojë pjesën më të madhe të punës në GPU.

SHO MERR CUDA

CUDA është një teknologji softuerike e bazuar në algoritmet e mia Ci, e cila mund të funksionojë në procesorë grafikë në gjeneratën e tetë GeForce dhe më të vjetër, si dhe në kartat më të fundit Quadro dhe Tesla nga kompania NVIDIA. CUDA ju lejon të përfshini funksione të veçanta përpara tekstit C. Këto funksione janë shkruar me thjeshtësinë e softuerit tim dhe shfaqen në procesorin grafik. Versioni Pochatkova i CUDA SDK u prezantua më 15 shkurt 2007. Për një përkthim të suksesshëm të kodit që dërgoj në magazinë CUDA SDK, ekziston një përpilues i fuqishëm C i linjës së komandës nvcc nga kompania NVIDIA. Përpiluesi nvcc për përkthime të bazuara në përpiluesin open64 open64 dhe për përkthimin e kodit pritës (koka, kodi i kernelit) dhe kodi i pajisjes (kodi i harduerit) (skedarët me shtesa .cu) në skedarët e bibliotekës që vijnë me procesin e ruajtjes në mes të programit, për shembull Microsoft Visual Studio.

Aftësitë e teknologjisë

  1. Standard mov C për përpunimin paralel të të dhënave shtesë në GPU.
  2. Përgatitni bibliotekat e analizave numerike për një riimagjinim të shpejtë të Fur'є asaj pakete bazë të softuerit algjebër lineare.
  3. Një drejtues i veçantë CUDA për llogaritjen dhe transferimin e të dhënave nga GPU në CPU.
  4. Mundësia e ndërlidhjes së drejtuesit CUDA me drejtuesit e grafikës OpenGL dhe DirectX.
  5. Mbështetje për sistemet operative Linux 32/64-bit, Windows XP 32/64-bit dhe MacOS.

Teknologjitë Perevagi

  1. Ndërfaqja e programeve CUDA (CUDA API) bazohet në programet standarde të lëvizshme CU me veprime të ndërvarura. Do të fal dhe do të zbut procesin e prezantimit të arkitekturës së CUDA.
  2. Memoria (memoria e përbashkët) me një madhësi prej 16 Kb, e cila mund të shpërndahet midis rrymave, mund të përdoret për organizimin e një cache me një skuqje të gjerë transmetimi, jo kur vibron me tekstura të padukshme.
  3. Transaksione më efikase ndërmjet memories së procesorit qendror dhe kujtesës video.
  4. Nga ana tjetër, mbështetja harduerike e të gjitha operacioneve dhe bitwise.

Teknologjia e ruajtjes së të pasmeve

cRark

Naivazhche në programin tsy - çmimi i infuzionit. Programi ka një ndërfaqe konsole, vetëm disa udhëzime, në mënyrë që të mund të arrini te vetë programi, mund ta përdorni. Është dhënë një udhëzim i shkurtër për rregullimin e programeve. Ne po e konvertojmë programin në pranueshmëri dhe herë pas here nga një program tjetër i ngjashëm, i cili nuk është një zëvendësues i NVIDIA CUDA, në këtë rast si një variant i programit të Rikuperimit të fjalëkalimit të arkivit të avancuar.

Nga arkivi i shkarkuar cRark, na duhen tre skedarë: crark.exe, crark-hp.exe dhe password.def. Сrark.exe është një mjet konsolë për hapjen e fjalëkalimeve RAR 3.0 pa skedarë të enkriptuar në mes të arkivit (për të hapur arkivat ju emërtoni, por nuk mund të hapni arkivat pa një fjalëkalim).

Сrark-hp.exe është një mjet konsole për rrënjosjen e fjalëkalimeve RAR 3.0 nga të gjitha arkivat e koduara (në mënyrë që arkivat të mos hapen pa emër, as vetë arkivat, as nuk mund t'i shpaketojmë arkivat pa një fjalëkalim).

Password.def - nuk ka ndryshime në skedarin e tekstit qoftë edhe me një zmist të vogël (për shembull: rreshti 1: ## Rreshti i 2-të:? *, Në të njëjtën kohë shfaqja e fjalëkalimit do të shfaqet nga lista e të gjitha simboleve). Password.def - programi cRark cRark. Skedari do të ketë rregullat për hapjen e fjalëkalimit (ose zona e karaktereve, si crark.exe do të jetë fitimtare për robotin tuaj). Raporti mbi mundësinë e zgjedhjes së këtyre shenjave i shkruhet në një skedar teksti personit që u ndërpre kur autori u postua në sit nga programet cRark: russian.def.

Përgatitja

Do të them menjëherë se programi po funksionon sapo karta juaj video të kopjohet në GPU për një nivel shtesë të CUDA 1.1 të përshpejtuar. Pra, ka një numër të kartave video të bazuara në çipin G80, siç është ekrani GeForce 8800 GTX, i cili do të ketë erë si CUDA 1.0 i përshpejtuar nga hardueri. Programi merr për CUDA shtesë që privon fjalëkalimet në versionin 3.0+ të arkivave RAR. Është e nevojshme të sigurohet i gjithë softueri, i lidhur me CUDA, dhe në vetvete:

Krijoni një dosje në çdo lloj muzike (për shembull, në diskun C :) dhe, për shembull, "3.2". Skedarët e tjerë: crark.exe, crark-hp.exe dhe password.def dhe arkivat RAR të fjalëkalimit/kriptimit.

Shkoni përpara, filloni tastierën e linjës së komandës së Windows dhe shkoni te dosja. Në Windows Vista dhe 7, shkoni te menyja "Start" dhe futni "cmd.exe" në fushë; në Windows XP, nga menyja "Start", shkoni te lidhjet e mëposhtme në dialogun "Viconati" dhe gjithashtu futni " cmd.exe" në të renë. Kur shfaqet tastiera, futni një komandë të formës: cd C: \ folder \, cd C: \ 3.2.

Dy rreshta shtypen në një redaktues teksti (mund ta ruani gjithashtu tekstin si skedari .bat nga cRark) për të zgjedhur fjalëkalimin për arkivin RAR të mbrojtur me fjalëkalim nga skedarët e pakriptuar:

jehona e fikur;
cmd / K crark (emri i arkivit) .rar

për të zgjedhur një fjalëkalim për një arkiv RAR të mbrojtur me fjalëkalim dhe të koduar:

jehona e fikur;
cmd / K crark-hp (emri i arkivit) .rar

Kopjoni 2 rreshta të një skedari teksti në tastierë dhe sulmoni nga Enter (ose ekzekutoni skedarin .bat).

Rezultatet

Procesi i deshifrimit të dëshmisë së një malunku:

Shpejtësia e marrjes në cRark me ndihmën e CUDA ishte 1625 fjalëkalime / sekondë. Për një ghile, tridhjetë e gjashtë sekonda, fjalëkalimi do të shkruhet me tre karaktere: "q) $". Për një arsye: aftësia për të detyruar rikuperimin e avancuar të fjalëkalimit të arkivit në procesorin tim me dy bërthama Athlon 3000+ kushton maksimumi 50 fjalëkalime / sekondë dhe forcë brutale për 5 vjet. Për të qenë në gjendje të përdorni bruteforce në arkivin cRark RAR pas kartës video shtesë GeForce 9800 GTX +, ajo mund të shikohet 30 herë më shpejt se në CPU.

Për ata të qetë që kanë një procesor Intel, një motherboard me një frekuencë të lartë të autobusit të sistemit (FSB 1600 MHz) është i mirë, treguesi i shkallës së CPU dhe shpejtësia e kërkimit do të jenë të shkëlqyera. Dhe nëse keni një procesor bazë dhe një bast të kartës video të barabartë me GeForce 280 GTX, atëherë brute-force e fjalëkalimit do të bëhet më i shpejtë. Le të themi, nëse do të dini për teknologjinë aktuale CUDA, janë 5 vjet që nga fillimi i kësaj teknologjie!

Visnovki

Duke parë teknologjinë aktuale për llogaritjet paralele të CUDA, ne kemi pompuar në çast të gjithë potencialin e madh për zhvillimin e kësaj teknologjie në aplikacion me programe për përditësimin e fjalëkalimit për arkivat RAR. Kërkesa për të treguar për perspektivat e kësaj teknologjie, teknologjia është dhënë në mënyrë të pagabueshme, unë e di vendin në jetën e njerëzve të lëkurës, e di sa shpejt është, çfarë është shkenca, çfarë është njohuria, çfarë lidhet me mënyra e shikimit të gjithçkaje, si të shihet se çfarë për të pashmangshmen. për të rritur produktivitetin e punës, pasi është e pamundur të mos kujtohet. Në ditën e sotme para leksikut, e njëjta nismë përfshin fjalën "superkompjuter shtëpiak"; Në përgjithësi është e qartë se për futjen e një objekti të tillë në realitet në kabinën e lëkurës, ekziston edhe një mjet i quajtur CUDA. Duke rregulluar në momentin e lëshimit të kartave të bazuara në çipin G80 (2006 r.), një numër i madh përshpejtuesish u bënë në bazë të NVIDIA, në mënyrë që teknologjia CUDA u adoptua, pasi ishte e mundur të sillte botën e superkompjuter në jetën reale të lëkurës. Mundësuar nga teknologjia CUDA, NVIDIA ka fituar autoritetin e saj në sytë e klientëve në sytë e klientëve që kanë mundësitë shtesë të zotërimit të tyre, pasi ato tashmë janë blerë nga bagatokh. Është njësoj si është e vërtetë, por CUDA's not bar do të rritet edhe më shpejt dhe do t'i japë koristuvachams në të gjithë botën më shpejt me të gjitha mundësitë paralele me llogaritjen në GPU.

Bëhuni gati për projektin - ju lutem, dyakuyu!
Lexoni gjithashtu
Yak vstanoviti bezkostovny antivirus avast Yak vstanoviti bezkostovny antivirus avast Yak qartë komp'ютер від вірусів самостійно Yak pastroni kompjuterin nga viruset në mënyrë të pavarur Yak do të pastrojë kompjuterin'ютер від вірусів Unë do të pastroj kompjuterin nga viruset