ZRYCHLENÍ ANALÝZY DIGITÁLNÍHO OBRAZU VYUŽITÍM GRAFICKÝCH PROCESORŮ FAST EVALUATION OF LINEAL PATH FUNCTION USING GRAPHICS PROCESSING UNIT Jan Havelka 1 Duben 011
ABSTRAKT Homogenizační metody jsou stále více využívanější přístupy po modelování chování heteogenních mateiálů. Základním pincipem homogenizace je nahazení heteogenní miko /mezostuktuy ekvivalentním homogenním mateiálem. Jestliže se navíc zabýváme náhodnou stuktuou je vhodné jednotkovou buňku (PUC) představující peiodickou část miko /mezostuktuu nahadit statisticky ekvivalentní peiodickou jednotkovou buňkou (SEPUC), kteá uchovává základní mateiálové vlastnosti ve statistickém smyslu. Jedním z vhodných statistických deskiptoů po definování SEPUC je lineal path function. Jedná se o deskipto nižšího řádu, jehož hlavní výhodou je schopnost popsat učité infomace o fázové spojitosti zkoumaného média. Nevýhodou je naopak jeho vysoká výpočetní náočnost. V příspěvku je ukázáno přefomulování sekvenčního pogamu, kteý analyzuje digitální obaz pomocí lineal path function, napsaném v jazyku C do paalelního schématu napsaném v jazyku CUDA C Compute Unified Device Achitectue využívající výpočetní kapacitu NVIDIA gafických pocesoů. Klíčová slova: Analýza digitálního obazu, lineal path function, homogenizace, statisticky ekvivalentní peiodická jednotková buňka, gafický poceso. ABSTRACT Homogenization methods ae still the most appoach to modelling of heteogeneous mateials. The main pinciple is to epesent the heteogeneous micostuctue with an equivalent homogeneous mateial. When dealing complex andom micostuctues, the unit cell epesenting exactly peiodic mophology needs to be eplaced by a statistically equivalent peiodic unit cell (SEPUC) peseving the impotant mateial popeties in the statistical manne. One of the statistical desciptos suitable fo SEPUC definition is the lineal path function. It is a low ode descipto based on a moe complex fundamental function able to captue cetain infomation about the phase connectedness. Its main disadvantage is the computational cost. In this contibution, we pesent the efomulation of the sequential C code fo evaluation of the lineal path function into the paallel C code with Compute Unified Device Achitectue (CUDA) extensions enabling the usage of computational potential of the NVIDIA gaphics pocessing unit (GPU). Keywods: Lineal path function, homogenization, statistically equivalent peiodic unit cell, gaphics pocessing unit.
1. ÚVOD Modelování náhodných heteogenních mateiálů je více oboový vědní poblém s celou řadou elevantních inženýských aplikací. Jedním z nejvíce používaných pincipů je homogenizační metoda, kteá je založena na předpokladu nahazení heteogenní miko /mezostuktuy ekvivalentním homogenním mateiálem (Toquato, 00). V současné době jsou používány nejvíce tyto dva hlavní homogenizační přístupy: (i) výpočetní homogenizace (Zeman & Šejnoha, 007; Voel et al., 011) a (ii) teoie efektivního média (Voel & Šejnoha, 009). Zatímco pvní soubo homogenizačních technik studuje ozložení lokálních polí v typickém heteogenním vzoku mateiálu za pomocí numeických metod, tak potom duhá skupina odhaduje odezvu vzoku analyticky na základě geometických infomací studovaného média (např. křivka znitosti a další). My se zde zaměříme na homogenizační techniky (skupina (i) výpočetní homogenizace) založené na konceptu statisticky ekvivalentní peiodické jednotkové buňky, především potom na statistický popis miko /mezostuktuy zkoumaného mateiálu. Geneování SEPUC je založeno na optimalizaci vhodných statistických deskiptoů. Jedním z nejčastěji používaných skupin deskiptoů jsou n bodové distibuční funkce. Jejich hlavním nedostatkem jsou málo hodnotné infomace o fázové spojitosti stuktuy, viz Ob. 1, a poto se zde zaměří na využití komplexnějšího statistického deskiptou lineal path function. Z hlediska výpočetní náočnosti, zejména při optimalizačním pocesu SEPUC, je její použití časově velice náočné. Představíme zde poto uychlení výpočtu lineal path function pomocí gafických pocesoů. Ob. 1 : Mikostuktuy spongiózní kosti získané počítačovou tomogafií (Jioušek et al., 008) Následující odstavec se zabývá popisem lineal path function. V odstavci 3 je nastíněna algoitmická implementace a v poslední části je ukázáno uychlení výpočtu lineal path function využitím gafických pocesoů. Obdžené výsledky jsou poovnány se sekvenční vezí pogamu.. LINEAL PATH FUNCTION Lineal path function, viz (Lu & Toquato, 199), patří do skupiny funkcí nižšího řádu zkoumající miko /mezostuktuu mateiálu. Do této skupiny ovněž patří např. fázové objemové zastoupení, specifický povch, distibuce velikosti póů, dvoubodová pavděpodobnost a další, kteé jsou 3
speciální případy obecné n bodové distibuční funkce. n Bodová distibuční funkce vykazuje podstatný nedostatek, kteým je nepřesná intepetace velkých fázových shluků v popisu stuktuy, (Lu & Toquato, 199). Tato vlastnost může hubě ovlivnit počítané makoskopické vlastnosti zkoumaného média. Naneštěstí, zjevná nevýhoda n bodové distibuční funkce je již v Lineal path function odstaněna a přináší tak více detailních infomací o fázové spojitosti. Její matematický popis vychází z definice elementání funkce, po kteou platí λ ( x, x 1 1,, α) = 0, if x x 1 othewise, D ( α), (1) Funkce nabývá hodnoty 1 po úsek x 1 x kteý je celý obsažen ve fázi vzoku α a hodnoty nula v ostatních případech. Lineal path function potom představuje pavděpodobnost, že úsek x 1 x leží ve fázi. Funkce je dána předpisem ( x x ) λ ( x, x, ), L = () 1, 1 α kde pavá stana představuje střední hodnotu elementání funkce. Podmínkou statistické homogenity a isotopie se předpis funkce zjednoduší na následující tva ( x x ) L ( x x ) = L ( x ). L (3) 1, = 1 1 x Jestliže body x 1 a x mají stejné postoové souřadnice, tak potom vypočtená hodnota lineal path function se ovná objemovému zastoupení fáze. Na duhou stanu, po body x 1 a x dostatečně vzdálené od sebe je vypočtená hodnota lineal path function ovna nule. Ob. : Schéma lineal path function 4
3. ALGORITMICKÁ STRUKTURA Vytvoření statistické ekvivalentní peiodické jednotkové buňky je obvykle založeno na analýze digitálních obazů, kteé představují studované medium. Jednotlivé úseky jsou definovány jako soubo pixelů spojující pixel p 1 počáteční a pixel p koncový. Poloha obecného pixelu p i je definována pomocí dvojice souřadnic w ( w ( 1, W) ) a h ( h ( 1, H) ), kde W a H jsou ozměy digitálního obazu. Soubo úseků obsahující pixely p 1 = (1,1) až p = (w,h) je získán pomocí algoitmu navženého v (Besenham, 1965). K vytvoření úplného soubou úseků a zahnutí tak všech směů je zapotřebí vytvořit duhou sadu úseků, kteé začínají v p 1 = (1,H) a končí v p = (w,h). Jakmile je soubo úseků definován, výpočet lineal path function spočívá v posunu každého vytvořeného úseku po celém digitálním obazu. Záoveň je spočítáno poovnání, zdali všechny pixely daného úseku naleží do vyšetřované fáze mateiálu. 1 Geneate_Segments(); fo( i=0; i < nsegments; i++ ){ 3 fo( j=0; j < npixels; j++ ){ 4 Is_Inside(); 5 } 6 } Seial code Seial code CPU CPU Ob. 3: Schéma sekvenčního kódu Geneování úseků je v ámci výpočtu lineal path function po danou velikost digitálního obazu povedeno pouze jednou a poto tato část algoitmu nemusí být až tak ychlá. Stěžejní částí algoitmu z hlediska časové efektivity je posun úseků po obazu a následné vyhodnocení elementání funkce. Tento segment kódu je opakovaně volán po každý nový obaz vytvořený v půběhu optimalizace statisticky ekvivalentní jednotkové peiodické buňky. Sekvenční schéma kódu je ukázáno na Ob. 3. 1 Geneate_Segments(); 3 4 // Paallel kenel 5 Is_Inside<<< >>>(nsegments,npixels); 6 Seial code Paallel code CPU GPU Ob. 4: Schéma paalelního kódu na gafickém pocesou 5
Jednou z poměně dostupných a populáních technologií po uychlení našeho výpočtu je použití gafického pocesou (GPU). Gafické katy jsou učeny převážně po náočné výpočty 3D vizualizací v počítačových hách a poto je jejich achitektua výazně odlišná od pocesoů (CPU). Jedná se o paalelní achitektuu s masivním počtem jednoduchých vláken. Ve speciálních úlohách může poto dosáhnout výazného uychlení opoti výpočtu na CPU. V současné době je díky společnosti NVIDIA nejozšířenější achitektua CUDA Compute Unified Device Achitectue s pogamovacím jazykem CUDA C. V našem algoitmu jsme využili vysoké množství vláken k paalelnímu řešení posunu úseků a poovnání, viz Ob. 4. (a) (b) Ob. 5: (a) Testovaný obázek; (b) Poovnání výpočtů na CPU a GPU 4. VÝSLEDKY A ZÁVĚR V příspěvku byly poovnány dvě vaianty výpočtu lineal path function sekvenční veze a paalelní veze vytvořená po gafickou katu, viz Ob. 6. Výpočty byly povedeny na počítači s následujícími paamety: poceso INTEL Coe Duo CPU E 6750 @.66 GHz, opeační paměť 3.5 GB RAM, gafická kata GeFoce 8600 GTS, opeační systém Micosoft Windows XP SP 3 a veze pogamovacího jazyka CUDA v. 1.1. Časové poovnání obou výpočetních vaiant bylo povedeno na digitálních obázcích s poměnnou velikostí (10x10 px až 100x100 px), viz Ob. 5a. Na Ob. 5b jsou znázoněny jednotlivé časy nezbytné po vyhodnocení lineal path function. Z Ob. 5b jsou patné následující závěy: Při velmi malých ozměech digitálního obazu je sekvenční výpočet efektivnější než paalelní veze z důvodu komunikace kopíování dat na gafickou katu. Při velikosti digitálního obazu větší než 50x50 px se začnou pojevovat výhody paalelního kódu, přičemž uspořený čas oste exponenciálně. PODĚKOVÁNÍ Příspěvek vznikl za finanční podpoy Gantové agentuy ČR 105/11/0411 a 105/11/P370. 6
(a) (b) Ob. 6: (a) Výsledná lineal path function (b) Řez lineal path function v ovině z = 0 LITERATURA Besenham, J.E. (1965) Algoithm fo compute contol of a digital plotte. IBM System jounal, 4, 1, pp. 5 30. Jioušek, O., Vavřík, D., Jakůbek, J. & Damme, J. (008) Coelation of tabecula bone mechanical popeties to its micostuctue using CT based FE modeling, in: Poc. Engineeing Mechanics, Institute of Themomechanics AS CR, Pague. Lu, B. & Toquato, S. (199) Lineal path function fo andom heteogeneous mateials, Physical Review E, 45,, pp. 9 99. NVIDIA Copoation (www) 701 San Tomas Expessway Santa Claa, CA 95050, USA. http://develope.nvidia.com/page/home.html Toquato, S. (00). Random heteogenous mateials. Spinge Velag, New Yok. Voel, J. (009) Multi scale modeling of composite mateials. Ph.D. thesis, CTU in Pague, Pague. Voel, J. & Šejnoha, M. (009) Evaluation of homogenized themal conductivities of impefect cabon cabon textile composites using the Moi Tanaka method. Stuctual Engineeing and Mechanics, 33, 4, pp. 49 446. Voel, J., Zeman, J., Šejnoha, M. & Tomková, B. (011) Homogenization of plain weave composites with impefect micostuctue: Pat II Analysis of eal wold mateials, submitted fo publication. Zeman, J. (003) Analysis of Composite Mateials with Random Micostuctue. Ph.D. thesis, CTU Repots, 7, 3 CTU Pess, Pague. Zeman, J., Šejnoha, M. (007) Fom andom micostuctues to epesentative volume elements. Modelling and Simulation in Mateials Science and Engineeing, 15, 4, S35 S335. 7