Deși perspectivele pentru GPU de calcul sunt forțe enorme, cea mai populara solutie - Nvidia CUDA gratuit, are o mulțime de documentare și pe ansamblu foarte simplu de implementat, aplicațiile care utilizează această tehnologie nu sunt atât de mult. Practic este tot felul de calcule de specialitate la care utilizatorul obișnuit în cele mai multe cazuri nu este cazul. Dar există, de asemenea, programe concepute pentru utilizatorii mainstream, despre ele vom vorbi în acest articol.
În primul rând, un pic despre tehnologia și cum să-l trateze. pentru că Când scriu acest articol am ghidat de o gamă largă de cititori, și apoi să încerce să explice într-un limbaj accesibil, fără termeni complexe și oarecum scurt.
Fluxurile de intrare sunt tratate în mod independent, și anume paralel.
Astfel, există o diviziune în trei nivele:
Grid - kernel-ul. Acesta cuprinde un tablou / două / trei dimensiuni de blocuri.
Block - conține o multitudine de fire (filet). Fluxuri de unități diferite interacționează unele cu altele nu pot. De ce a fost necesar să se introducă blocuri? Fiecare bloc este, în esență, responsabil pentru subactivități sale. De exemplu, o imagine mare (care este o matrice) poate fi împărțită în mai multe părți (matrice) și sunt paralele cu fiecare parte a imaginii.
Subiect - fir. Curente în cadrul unei singure unități sau pot interacționa printr-o memorie comună (partajată), care, întâmplător, este mult mai rapid decât memoria globală (global), sau prin mijloace pentru sincronizarea fluxurilor.
Warp - o asociație de fluxuri care interacționează pentru toate dimensiunile moderne GPU Warp'a este 32. Următorul este o jumătate de urzeală. Este jumătate warp'a, din moment ce acces la memorie este de obicei separat pentru prima și a doua jumătate warp'a.
După cum puteți vedea, arhitectura este mare pentru paralelizare sarcini. Deși programarea este efectuată în C, cu unele restricții, dar în realitate nu este atât de simplu, deoarece nu toate pot fi parallelized. Nu au aceleași funcții standard pentru generarea de numere aleatoare (sau de inițializare), toate acestea trebuie să fie puse în aplicare separat. Deși opțiunile gata făcute disponibile în cantități suficiente, bucuria totul nu funcționează. Capacitatea de a utiliza recursivitate aparut relativ recent.
Pentru claritate, a fost scris de o consolă mică (pentru a minimiza cod) program care produce operațiunea cu matrice float două tipuri, și anume cu valori non-întregi. Pentru motivele de mai sus, inițializarea (pentru a umple o serie de diferite valori arbitrare) a produs forțe CPU. În continuare, elementele respective ale fiecărei matrice a produs 25 de tipuri de operații, rezultatele intermediare au fost înregistrate în a treia matrice. A schimbat dimensiunea matrice, următoarele rezultate:
Toate cele 4 teste au fost efectuate:
1024 element în fiecare matrice:
Se vede clar că cu un astfel de număr mic de elemente este utilizarea de calcul paralel puțin calculele în sine sunt mult mai rapid decât formarea lor.
4096 elemente în fiecare matrice:
Acum, 12,288 articole în fiecare matrice:
Și ultimul test - 36864 element în fiecare matrice:
De altfel, se poate observa modul în care are loc procesul de efectuare a calculelor de sarcină a crescut pe GPU, precum și alocarea de memorie.
-
* Seria "Lie to me" - 1280x720, MPEG4, H.264.
-
* Seria "Este întotdeauna Sunny in Philadelphia" - 624h464, Xvid.
Recipientul și mărimea primelor două fișiere .mkv și a fost de 1,55 GB, iar ultima - .avi si 272 MB.
Să începem cu un produs foarte senzațional și popular - Badaboom. Am folosit - 1.2.1.74. Programul costa $ 29.90.
Interfața programului este simplu și clar - spre stânga, selectați fișierul sursă sau disc, iar pe dreapta - un dispozitiv necesar pentru care va codifica. Există, de asemenea, modul de utilizare, în care parametrii sunt setați manual, și a fost folosit.
Acum puteți înțelege cu ușurință de ce au nevoie de suport pentru ecrane tactile și tehnologie multi-touch. Mai mult decât atât, programul are un multi-tasking, la fel de ciudat ar suna. Cum? Urmăriți videoclipul:
În timpul utilizării procesorului de codificare este de 100%, dar nu cauzează disconfort. Browserul și alte aplicații non-grele nu încetini.
Rezultatele sunt mult mai bune decât Badaboom. Calitate precum și la diferența de înălțime față de original poate fi văzută numai prin compararea perechilor imagini sub lupă.
Apoi, du-te la transcodare în jos rezoluția și rata de biți: