Elektronika.lt
 2024 m. balandžio 25 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 NaujienosSąrašas
 StraipsniaiSąrašas
 Vaizdo siužetaiSąrašas
 Nuolaidos, akcijosSąrašas
 Produktų apžvalgosSąrašas
 Naudingi patarimaiSąrašas
 Vykdomi projektaiSąrašas
 Schemų archyvasSąrašas
 Teorija, žinynaiSąrašas
 - Elektronikos komponentai
 - Elektronikos technologija
 - Parametrų apskaičiavimai
 - Kompiuterija
 - Telekomunikacijos
 - Įvairi teorija
 Nuorodų katalogai
 Įvairūs siuntiniai
 Bendravimas
 Skelbimai ir pasiūlymai
 Elektronikos remontas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Balandžio 24 d. 20:16
Kaip išjungti ar perkrauti visų modelių „iPhone“
Balandžio 24 d. 17:16
Nuo blynus kepančių robotų iki miesto priežiūros technologijų – „Tech_Champ 2024“ hakatone komandos kūrė naujoves
Balandžio 24 d. 14:32
Pristatytas 816 AG „Mercedes-AMG GT 63 S E PERFORMANCE“ kupė
Balandžio 24 d. 11:26
Švietimo ekspertai sutaria: universitetų aljansai – galimybė turėti geresnę švietimo sistemą
Balandžio 24 d. 08:18
„Nothing“ pristatė „Ear“ ir „Ear (a)“ belaidžius ausinukus
Balandžio 23 d. 20:24
Dauguma Lietuvos tėvų riboja vaikų laiką internete: psichologas patarė, kaip nepažeisti vaiko privatumo
Balandžio 23 d. 17:16
Peteris Higgsas: kaip itin kuklus fizikas sugalvojo dieviškosios dalelės idėją
Balandžio 23 d. 14:42
Huawei“ pristatė naujuosius „Pura 70“, „Pura 70 Pro“ ir „Pura 70 Pro+“ išmaniuosius telefonus
Balandžio 23 d. 11:27
Sukčiai iš lietuvių pernai vidutiniškai išviliojo po 74 eurus: atskleidė, kur ir kaip jie veikia
Balandžio 23 d. 08:41
Europos Komisija: KTU – pirmasis universitetas Lietuvoje pagal pritrauktas lėšas
FS 22 Tractors
Farming Simulator 19 Mods, FS 22 Maps, FS22 Mods
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS22 Trucks
VAT calculator
VAT number check, What is VAT, How much is VAT
Paskola internetu
Vartojimo paskola, paskola automobiliui, paskola būsto remontui
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
FS22 Mods
FS22 Harvesters, FS22 Tractors Mods, FS22 Maps Mods
FS22 Mods
FS22 Maps,
FS22 Harvesters,
FS22 Tractors
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
Sims 4 Mods
Sims 4 CC Clothes,
Sims 4 Hair CC,
Sims 4 Skill Cheat
Optic sight
Binoculars for hunting elk,
Best compact binoculars,
Riflescope hunting
Reklama
 Teorija, žinynai » Elektronikos technologija Dalintis | Spausdinti

GPGPU – Bendrosios paskirties skaičiavimai pasinaudojant vaizdo procesoriumi

Publikuota: 2007-12-06 12:51
Tematika: Elektronikos technologija
Skirta: Pradedantiems
Autorius: Lukas Steiblys
Aut. teisės: ©Pixel.lt
Inf. šaltinis: Pixel.lt

Šių dienų kompiuteriuose vaizdo procesorius (angl. „GPU“ – Graphics Processing Unit) yra būtinas komponentas. Jis gali būti integruotas į motininę plokštę arba prijungtas atskirai vaizdo plokštėje. Šis procesorius gali atlikti ypač daug operacijų per sekundę savo galingumu kelis kartus aplenkdamas net pačius naujausius bendrosios paskirties procesorius.

 Rodyti komentarus (0)
Įvertinimas:  1 2 3 4 5 

Trumpas įvadas į vaizdo procesorių architektūrą

Šių dienų kompiuteriuose vaizdo procesorius (angl. „GPU“ – Graphics Processing Unit) yra būtinas komponentas. Jis gali būti integruotas į motininę plokštę arba prijungtas atskirai vaizdo plokštėje. Šis procesorius gali atlikti ypač daug operacijų per sekundę savo galingumu kelis kartus aplenkdamas net pačius naujausius bendrosios paskirties procesorius.


1. Grafikas[šaltinis nr. 4] rodo kiek apytiksliai milijardų operacijų su slankaus kablelio skaičiais per sekundę galėjo atlikti naujausi bendrosios paskirties procesoriai (žydra kreivė) ir vaizdo procesoriai (raudona kreivė) nuo 1998 iki 2006 metų.

Vaizdo procesoriaus pagrindinė užduotis yra manipuliuoti 3D ir 2D vaizdus, skaičiuoti erdvinių objektų pozicijas ir apšvietimą. Nuo apytiksliai 2000 metų nauji vaizdo procesoriai gali būti programuojami vadinamųjų šešėliavimo programų pagalba (angl. „Shaders“). Tai leido kurti dar realistiškesnę kompiuterinę grafiką ir įgyvendinti naujus apšvietimo skaičiavimo metodus. Taip pat naujos galimybės sudomino ir kitų sričių specialistus.

Norint išsiaiškinti, kodėl vaizdo procesorius yra žymiai greitesnis už pagrindinės paskirties procesorių, reikia suprasti kaip jame apdorojami duomenys. Kadangi šis straipsnis neapžvelgs visos architektūros detalių, norintiems apie tai sužinoti plačiau, patariu apsilankyti procesorių gamintojos NVIDIA programuotojų puslapyje [7].

Taigi, duomenų apdorojimą grubiai vaizduoja diagrama nr.2. Objektai trimačiame pasaulyje dažniausiai aprašomi trikampiais. Šių trikampių viršūnės apdorojamos vadinamosiose viršūnių programose (angl. „Vertex shader“). Toliau iš tų viršūnių susidarantys trikampiai paverčiami į taškus ir perduodami taškų programai (angl. „Pixel shader“). Po to šis apdorotas taškas išvedamas į ekraną arba išsaugojamas į atmintį ir vėl iš naujo panaudojamas skaičiuojant kitas viršūnes ir taškus. Naujos kartos vaizdo procesoriuose (palaikančiuose 10-tą Direct3D versiją) atsirado dar daugiau programuojamų konvejerio dalių, tačiau jos nėr svarbios šiai straipsnio temai.


2. Duomenų apdorojimo konvejeris vaizdo procesoriuje

Dėl šios konvejerio tipo architektūros, duomenis galima lengvai apdoroti lygiagrečiai. Kiekviena viršūnė nepriklauso nuo kitų apdorojamų viršūnių ir kiekvienas taškas nepriklauso nuo kitų taškų. Todėl naujausi vaizdo procesoriai (2007 m.) turi net iki 128 skaičiavimo elementų, galinčių vykdyti viršūnių ir taškų programas vienu metu. Kiekvienas skaičiavimo elementas veikia apytiksliai 1500 MHz dažniu. Dėl to jų visuma aplenkia visus bendrosios paskirties procesorius. Šią skaičiavimo elementų didėjimo tendenciją matome ir šiandienos bendrosios paskirties procesoriuose, kurie jau turi iki 4 branduolių. Tačiau norint panaudoti šią galią, reikia stipriai keisti programos vykdymo eigą, priversti programą skaičiavimus vykdyti lygiagrečiai.

Kas yra GPGPU?

GPGPU angliškai reiškia General-Purpose computation on GPUs. Verčiant pažodžiui, būtų Bendros Paskirties Skaičiavimai su GPU. Dėl galimybės programuoti vaizdo procesorius ir didelės jų galios jie sudomino įvairių sričių specialistus. Priversti procesorių dirbti galima pasinaudojant įvairiom bibliotekom. Dvi pagrindinės šiuo metų populiariausios yra Direct3D, kuri turi HLSL (angl. „High Level Shading Language“), ir OpenGL su GLSL (angl. „OpenGL Shading Language“). Taip pat šiais metais NVIDIA pristatė CUDA (angl. „Compute Unified Device Architecture“) programavimo įrankį, kuris leidžia programuoti vaizdo procesorius kalba, panašia į populiariąją C kalbą.

Duomenys vaizdo atmintyje laikomi tekstūrų arba atminties blokų (buferių), į kuriuos surašomos viršūnių erdvėje koordinatės, pavidalu. Tekstūra – tai vienmatis, dvimatis ar trimatis paveiksliukas. Tekstūroje galime laikyti duomenis, kurių reikės atlikti skaičiavimams, ir išvesti į ją skaičiavimo rezultatus.

Bitoninio rikiavimo algoritmas

Vienas iš vaizdo procesoriaus pritaikymo būtų gali būti didelio kiekio duomenų rikiavimas. Tai operacija, kuri dažnai atliekama realiose situacijose, pavyzdžiui, įrašų rikiavimas duomenų bazėse. Tai galima atlikti vadinamuoju bitoninio rikiavimo algoritmu. Jis vykdomas keliomis (tiksliau log(n), kur n – duomenų kiekis, log – dvejetainis logaritmas) pakopomis. Algoritmo vykdymo metu surikiuoti mažesni duomenų blokai jungiami į dvigubai didesnius blokus. Šį algoritmą su vienmačiu masyvu arba vienmate tekstūra vaizdžiai iliustruoja diagrama žemiau.

Ši diagrama vaizduoja bitoninio rikiavimo algoritmą su 8 skaičiais. Algoritmas vykdomas trimis pakopomis. Vienos pakopos rezultatas yra sekančios pakopos duomenys. Kiekvienoje pakopoje masyvas išdalinamas į jau surikiuotus blokus, pažymėtus raudonai ir žaliai. Gretimi blokai lyginami taip, kaip vaizduoja rodyklės. Mažesnis elementas perkeliamas į žalią regioną, o didesnis į raudoną.

Bitoninio rikiavimo algoritmas ypatingas tuo, kad duomenų palyginimus ir sukeitimus galima atlikti lygiagrečiai, iškart visam duomenų masyvui (tekstūrai). Taip vienu metu išnaudojami visi vaizdo procesoriaus skaičiavimo elementai. Čia pateikiamas tik vienmačio masyvo rikiavimo algoritmas, bet dažniausiai naudojami dvimačiai masyvai, nes vaizdo procesoriai labiau pritaikyti dirbti su dvimatėmis tekstūromis (paveikslėliais). Taip pat šis algoritmas nėra pats našiausias lygiagretus rikiavimo algoritmas. Norintys sužinoti apie gudresnius būdus rikiuoti duomenis pasinaudojant vaizdo procesoriumi ar bet kokiu kitu lygiagretaus skaičiavimo procesoriumi, gali apsilankyti gpgpu.org.

Lygiagretūs rikiavimo algoritmai, vykdomi vaizdo procesoriuje, greičiu konkuruoja su algoritmais, vykdomais bendrosios paskirties procesoriuose, pavyzdžiui, greitu rikiavimu (angl. „Quick sort“). Kaip teigiama straipsnyje apie GPU TeraSort algoritmą, pigūs vaizdo procesoriai rikiuoja duomenis taip pat greit kaip žymiai brangesni bendrosios paskirties procesoriai (lyginama tuomet kainavusi $265 NVIDIA 7800 GT vaizdo plokštė su $2200 kainavusiu 3,6 GHz Dual Xeon serveriu).

Pabaiga

Straipsnyje paminėtas duomenų rikiavimo algoritmas yra tik vienas iš lygiagrečių procesorių pritaikymo būdų. Bendrosios paskirties skaičiavimai pasinaudojant vaizdo procesoriumi yra dar gan nauja sritis ir panašu, jog ateityje bus atrasta dar daugiau metodų kaip panaudoti šiuos galingus lygiagretaus skaičiavimo procesorius.

Naudoti šaltiniai:
http://www.gpgpu.org/
http://en.wikipedia.org/wiki/GPU
http://en.wikipedia.org/wiki/CUDA
http://www.wired.com/gadgets/pcs/news/2006/11/72090
GPUTeraSort: High Performance Graphics Coprocessor Sorting for Large Database Management
http://en.wikipedia.org/wiki/Bitonic_sorter
http://developer.nvidia.com/




Draudžiama platinti, skelbti, kopijuoti
informaciją su nurodyta autoriaus teisių žyma be redakcijos sutikimo.

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

„Deinavos baldai“ — šeimos baldai


Reklama
‡ 1999–2024 © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Turinys | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
Script hook v, Openiv, Menyoo
gta5mod.net
Farming Simulator 2019 Mods, FS22 Mods, FS22 Maps
farmingsimulator19mods.fr
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama