Paralelizace ultrazvukových simulací pomocí 2D dekompozice
but.committee | prof. Ing. Lukáš Sekanina, Ph.D. (předseda) prof. RNDr. Milan Češka, CSc. (místopředseda) Ing. Vladimír Bartík, Ph.D. (člen) Prof. RNDr. Mária Lucká, Ph.D. (člen) Ing. Tomáš Martínek, Ph.D. (člen) doc. Ing. František Zbořil, CSc. (člen) | cs |
but.defence | Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm velmi dobře (B). Otázky u obhajoby: It is stated on page 12 that the FFTE library is not used for the numerical comparisons as it does not support in-place transforms. However, on page 13, it states that the experiments were all performed using out-of-place transforms (so FFTE could have been compared). Why were out-of-place transforms used? What conclusions can be made about the analogous in-place results? What would be the optimal network topology (Torus, hypercube, fat tree, etc) for computing the 3D FFT on a cluster? Explain how non-blocking communications might be used in the context of an ultrasound simulation using k-Wave? | cs |
but.jazyk | čeština (Czech) | |
but.program | Informační technologie | cs |
but.result | práce byla úspěšně obhájena | cs |
dc.contributor.advisor | Jaroš, Jiří | cs |
dc.contributor.author | Nikl, Vojtěch | cs |
dc.contributor.referee | Dvořák, Václav | cs |
dc.date.accessioned | 2020-06-23T09:09:14Z | |
dc.date.available | 2020-06-23T09:09:14Z | |
dc.date.created | 2014 | cs |
dc.description.abstract | Tato práce je součástí projektu k-Wave, což je simulační nástroj akustické tomografie sloužící k simulaci a rekonstrukci akustických vlnových polí a jeho hlavním přínosem je plánování ultrazvukových operací lidské tkáně, např. nádoru na mozku. Dopředné simulace jsou založeny na řešení k-prostorové pseudospektrální časové domény. Simulace jsou časově a výpočetně velice náročné. Simulace probíhají na 3D maticích, které reprezentují určité vlastnosti reálné tkáně, např. hustotu absorbce nebo rychlost šíření zvuku. K výpočtu gradientu se používá Rychlá Fourierova transformace (dále jen FFT), jejíž výpočet zabere zhruba 60% simulačního času. 3D FFT byla do této doby počítána pomocí softwarové knihovny FFTW, která interně využívá 1D dekompozici, tj. dekompozici podél jedné osy. Hlavní nevýhoda 1D dekompozice je relativně malý maximální počet výpočetních jader, přes které lze paralelizovat výpočet. Matice mají velikost řádově 1024x2048x3072, tím pádem lze efektivně paralelizovat přes maximálně 1024 jader. Dnešní superpočítače umožnují využít až stovky tisíc jader a tomu bychom se rádi přiblížili. Řešením je využití 2D dekompozice, která by teoretický maximální počet jader posunula až do řádu milionů. Její efektivní implementací se zabývá právě tato práce. 2D dekompozice je obecně paralelizována pouze pomocí MPI procesů, např. v~knihovnách PFFT nebo P3DFFT, v této práci ale využíváme pokročilejší kombinace MPI procesů a OpenMP vláken, kterou jsme nazvali hybridní 2D dekompozice (HybridFFT). Má tři hlavní části: výpočet 1D FFTs, lokální transpozice dat a globální transpozice dat. Pro výpočet sérií 1D FFT je využita knihovna FFTW.Lokální transpozice jsou implementovány pomocí blokové transpozice 2D matice, která je vektorizována pomocí SSE/AVX instrukcí. Jak 1D FFT, tak lokální lokální transpozice, jsou akcelerovány pomocí OpenMP vláken. Globální transpozice je opět implementována prostřednictvím knihovny FFTW, která při použití pokročilého plánování dokáže výrazně snížit dobu potřebnou pro její realizaci. Hlavním cílem této práce je tedy dosáhnout maximálního možného zrychlení a škálovatelnosti oproti předchozímu řešení, zároveň ale i zachovat kompatibilitu a přenositelnost. Hybridní transformace pracuje nejlépe, pokud na jednom socketu spustíme jeden MPI proces a v rámci tohoto socketu využijeme tolik vláken, kolik máme k dispozici jader. Díky tomu nemusí jádra v rámci jednoho socketu komunikovat přes MPI zprávy, ale využívají rychlejší sdílenou paměť, a zároveň je MPI komunikace efektivnější, protože máme pouze jeden MPI proces na socket a tím pádem jsou MPI zprávy vetší a je jich méně, což vede k menšímu zahlcení propojovací sítě a lepší efektivitě komunikace. Řešení bylo testováno na superpočítačích Anselm (Ostrava), Zapat (Brno) a Supernova (Wroclaw). Pro nižší počty jader, v řádu několika set, je výkon přibližně stejný nebo o pár procent lepší, než původně použitá 1D dekompozice FFTW knihovny nebo knihony PFFT a P3DFFT. Jeden z velmi dobrých výsledků je např. 512^3 FFT na 512 jádrech, kde hybridní dekompozice dosáhla času 31 ms, zatímco FFTW 39 ms a PFFT 44ms. Na stroji Anselm jsme spustili výpočet až na 2048 jádrech a škálovatelnost byla stále lineární. Nejlepší nárust výkonu oproti ostatním knihovnám by se měl projevit při počtu zhruba 8-16 tisíc jader pro kostky velikosti 1024^3, protože v této konfiguraci bude mít jeden MPI proces na starosti jednu desku matice a zároveň budou MPI zprávy dostatečně velké a v takovém počtu, že by se měla projevit lepší efektivita komunikace oproti ostatním knihovnám. | cs |
dc.description.abstract | This thesis is a part of the k-Wave project, which is a toolbox for the simulation and reconstruction of acoustic wave felds and one of its main contributions is the planning of focused ultrasound surgeries (HIFU). One simulation can take tens of hours and about 60% of the simulation time is taken by the calculation of the 3D Fast Fourier transforms. Up until now the 3D FFT has been calculated purely by the FFTW library and its 1D decomposition, whose major limitation is the maximum number of employable cores. Therefore we introduce a new approach, called the 2D hybrid decomposition of the 3D FFT (HybridFFT), where we combine both MPI processes and OpenMP threads to reach as best performance as possible. On a low number of cores, on the order of a few hundreds, we are about as fast or slightly faster than FFTW and pure MPI 2D decomposition libraries (PFFT and P3DFFT). One of the best results was achieved on a 512^3FFT using 512 cores, where our hybrid version run 31ms, FFTW run 39ms and PFFT run 44ms. The most significant performance advantage should be seen when employing around 8-16 thousand cores, however we haven't had an access to a machine with such resources. Almost a linear scalability has been proven for up to 2048 employed cores. | en |
dc.description.mark | B | cs |
dc.identifier.citation | NIKL, V. Paralelizace ultrazvukových simulací pomocí 2D dekompozice [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2014. | cs |
dc.identifier.other | 128384 | cs |
dc.identifier.uri | http://hdl.handle.net/11012/188799 | |
dc.language.iso | cs | cs |
dc.publisher | Vysoké učení technické v Brně. Fakulta informačních technologií | cs |
dc.rights | Standardní licenční smlouva - přístup k plnému textu bez omezení | cs |
dc.subject | k-Wave | cs |
dc.subject | FFT | cs |
dc.subject | Rychlá Fourierova transformace | cs |
dc.subject | transpozice | cs |
dc.subject | dekompozice | cs |
dc.subject | optimalizace | cs |
dc.subject | cluster | cs |
dc.subject | superpočítač | cs |
dc.subject | MPI | cs |
dc.subject | OpenMPI | cs |
dc.subject | OpenMP | cs |
dc.subject | vlákna | cs |
dc.subject | FFTW | cs |
dc.subject | SSE | cs |
dc.subject | AVX | cs |
dc.subject | k-Wave | en |
dc.subject | FFT | en |
dc.subject | fast Fourier transform | en |
dc.subject | transposition | en |
dc.subject | decomposition | en |
dc.subject | optimization | en |
dc.subject | cluster | en |
dc.subject | supercomputer | en |
dc.subject | MPI | en |
dc.subject | OpenMPI | en |
dc.subject | OpenMP | en |
dc.subject | threads | en |
dc.subject | FFTW | en |
dc.subject | SSE | en |
dc.subject | AVX | en |
dc.title | Paralelizace ultrazvukových simulací pomocí 2D dekompozice | cs |
dc.title.alternative | Parallelization of Ultrasound Simulations Using 2D Decomposition | en |
dc.type | Text | cs |
dc.type.driver | masterThesis | en |
dc.type.evskp | diplomová práce | cs |
dcterms.dateAccepted | 2014-06-25 | cs |
dcterms.modified | 2020-06-01-09:43:31 | cs |
eprints.affiliatedInstitution.faculty | Fakulta informačních technologií | cs |
sync.item.dbid | 128384 | en |
sync.item.dbtype | ZP | en |
sync.item.insts | 2021.11.12 23:07:50 | en |
sync.item.modts | 2021.11.12 22:27:17 | en |
thesis.discipline | Bioinformatika a biocomputing | cs |
thesis.grantor | Vysoké učení technické v Brně. Fakulta informačních technologií. Ústav počítačových systémů | cs |
thesis.level | Inženýrský | cs |
thesis.name | Ing. | cs |