Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

GPGPU u ALICE radionici

Prisustvovali smo manjoj radionici/seminaru u Bergen ( IFT ) o nVidia CUDAi njegovoj upotrebi u ALICE projektu u CERN. Moj cilj i cilj drugih studenata iz Vestfold University Collegeje bio da se koncentrišemo na konkretne zadatke za naš senior projekat i da ubrzamo neke stavri koje smo započeli.

Tri dana samo se obezbeđivali informacijama, tako da dodđemo do nekog manjeg zaključka. Kasnije ću verovatno da napišem neki post u kome ću sve detaljnije da sve ovo opišem. Ako uspem da dođem do prezentacija ja ću linkove staviti ovde.

Rasprave/teme

Dan 1:

Zašto paralelizovati i zašto GPGPU?

Kompjuterske jedinice se ne skaliraju po frekvenciji više, tako da ih mi moramo paralizovati da bi poboljšali performanse. GPU ima komoditet hardvera koji je dizajniran za masivno paralizovanje koje nisi napred veliko potprošačklo tržište 3D grafike => obezbeđuje visoke performanse, malu cenu, fleksibilan je i lak za korišćenje kada se uporedi sa DSP, FPGA, uobičajenim vektorom CPU itd.

Nvidia CUDA platforma

Opisuje podvučenu hardver platformu i koncept za pristup ovoj formi sa visokog standarda jezika (C sa nekim C++ i standardnom ekstenzijom). Trenutna generacija ima oko 200 nizova procesorai dizajniran je da ima nekoliko stotina nizova koji rade u isto vreme. Postoje kartice posebno za GP-computing (Tesla-serije), ali za mnogo računanja visoke i GeForce karte je dovoljno dobro. Praktično svi noviji GPU od nVidia su CUDA asposobni, sve od lon koji se nalaze u netbooks/net-top.

CUDA programerski model

Funkcije koje se nazivaju kerne se izvršavaju na uređaju. Svi nizovi imaju isti kod, razlika je na tome šta nizovi rade korišćenjem njihovog ID u uređaju. Niovi su grupisani u blokove, blokovi su grupisani u gridove. Broj nizova/blokova se naznači na osnovu kernel specifikacije i koristi se za skaliranje različitih uređaja. Memorija je podeljena na nekoliko delova, od kojih je svaki neophodanza ručno rukovanje. Uređaj <=> host prebacuje se takođe ručno.

Dan 2:

TPC i HLT kod ALICE.

Neverovatan porast podataka, koji nije neophodan niti željen za čuvanje svih podataka => ali je neko procesuiranje/analiza neophodna da se odradi u stvarnom vremenu (“online”).Ovo se sada može uraditi upotrebom velikih klastera mašina ( HLT). Upotrebom GPU dozvoliće se klasteru da se sastoji od manjeg broja nodova => jeftinije i slobodno u resursima za druge stvari kao što je onlajn analiza.

Optimiziranje CUDA koda

Kaklkulacija je brza, (globalna) memorija je spora => Fokus je na smanjenju i optimiziranju prisupa memoriji.Dizajnirano za masivnu paralelizaciju => što ćini problem jasnim i dovoljno jednostavnim,tako da se taj problem deli na dobar način.

Dan 3:

OpenCL

U osnovi CUDA model + vendor/platform nezavisnost – C++ karakteristika, drugačije samo sa još više razlika => trebalo bi da je lako prebaciti i razumeti kada raspoznajete CUDA. Implementacija na neki način, takođe za CPU (x86 wsa SSE i Cell) i DSP (Texas Instrumenti). Trebalo bi da dobar kandidat za naučno kompjuterisanje u budućnosti.

CUDA-ified kod za praćenje

Pogledli smo na koji je načinCUDA implementiran za iozvršavanje svih AliRoot okvira koje HLT već koristi. neki koncepti se ne slažu i vode ka tome da se kod uvijena neki nezgodan način. Dalje narušavanje/komplikovanje činjenicom da bi neki kod trebalo da bude pokrenut na jedan CPU ili drugi GPU.

Naš zadatak: Vertex pronalaženje

Više o ovome na našem poslednjem postu

Drugo

Poneo sam i foto aparat zajedno samnom, ali pošto sam naviknut da ga nosim potpuno sam zaboravio da išta slikam. Uspeli smo da vidimo Bergen na kratko, iako smo većinu vremena provodili na CUDA/CERN odeljku.

Creative Commons Share Alike. http://creativecommons.org/licenses/by-sa/3.0/





Published (Last edited): 13-05-2013 , source: http://www.jonnor.com/2009/10/gpgpu-in-alice-workshop/