Akcelerace genetického algoritmu s využitím OpenCL

but.committeedoc. Ing. Zdeněk Kotásek, CSc. (předseda) prof. Ing. Miroslav Švéda, CSc. (místopředseda) doc. Ing. Vladimír Drábek, CSc. (člen) doc. Ing. Peter Chudý, Ph.D., MBA (člen) Prof. Ing. Jaromír Krejčíček, CSc. (člen) doc. Mgr. Adam Rogalewicz, Ph.D. (člen)cs
but.defenceStudent nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se pak 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ší doplňující dotazy členů komise. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené dotazy rozhodla práci hodnotit stupněm "B". Otázky u obhajoby: Otázky k obhajobě byly v podstatě dány již v bodě 4) hodnocení. Zajímalo by mě však následující: Byly prováděny nějaké testy pro hrací pole o velikosti nad 64x64 políček? Pokud ano, s jakými výsledky? Zkoušel jste implementovat v OpenCL vaše řešení i pro klasický procesor? V případě nainstalování OpenCL SDK balíku od firmy AMD je tato varianta možná?cs
but.jazykangličtina (English)
but.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorJaroš, Jiříen
dc.contributor.authorHrušovský, Mareken
dc.contributor.refereeŠimek, Václaven
dc.date.created2010cs
dc.description.abstractTato práce se zabývá problematikou urychlování genetických algoritmů a hned v úvodu nastiňuje možnosti využití genetických algoritmů v praxi. V první kapitole je detailně rozebrán princip fungování genetického algoritmu. Tato kapitola se dále zabývá možnostmi zákódování problému, který je použit pro běh genetického algoritmu. Konkrétně je vzpomenuto binární zakódování jedince, celočíselné zakódování jedince, neceločíselné zakódování jedince a permutační zakódování jedince. Pro každý typ zakódování jsou dále představeny genetické operátory mutace, křížení a selekce. Důraz je kladen na permutační genetické operátory OX a PMX. Další kapitola se zabývá možnostmi paralelizace genetického algoritmu. Další kapitola představuje nový standard jménem OpenCL, který umožňuje snadnou paralelizaci výpočtú s využitím různých typů procesorů v ten samý čas. OpenCL taktéž zjednodušuje programování pro grafické karty. Další kapitola navrhuje možnost, jak urychlit výpočet genetického algoritmu s využitím grafické karty a jazyka OpenCL. Pro urychlení byl zvolen permutační genetický algoritmus "problém N-dam", který je náročný na paměť grafické karty. Tato kapitola rozebírá technické specifikace grafické karty, které jsou nevyhnutelné k určení maximální velikosti šachovnice. V kapitole je analyzována správná práce s pamětí grafické karty, která je nevyhnutelná k dosažení urychlení zvoleného genetického algoritmu. Jsou zde taky nastíněny dva generátory náhodných čísel, které jsou součástí testů. Následující kapitola detailně popisuje fungování navržené paralelizace genetického algoritmu. Jsou zde porovnány dvě metody evaluace jedince a je popsán způsob testování a vyhodnocování výsledků. Předposlední kapitola porovnává časovou náročnost generátorů náhodných čísel. Bylo zjištěno, že generátor HybridTaus je o 20 rychlejší o proti generátoru XORshift na GPU. Na CPU byl naopak rychlejší generátor XORshift. Generátor XORshift je na GPU 20 krát rychlejší a generátor HybridTaus je dokonce až 80 krát rychlejší. Dále byly porovnány evaluační funkce. Bylo zjištěno, že GPU běh je 800 krát rychlejší oproti běhu na CPU. Paměťově náročná evaluační metoda byla schopná dosáhnout jenom dvojnásobné zrychlení. Kapitola dále porovnává funkce křížení. PMX dosáhlo zrychlení maximálně o 100 a i to v případech, které nejsou atraktivní pro řešení problému N-dam (N>20). V případe OX je možné dosáhnout zrychlení až o 1100. Také v tomto případě jsou atraktivní hodnoty pouze do 500. Testy, které vyhodnocují běh celého GA, ukázaly, že GPU verze je zhruba dvojnásobně rychlejší. Malé zrychlení bylo způsobeno operátorem selekce a funkcí křížení.en
dc.description.abstractThis thesis tries to accelerate genetic algorithm (GA) using OpenCL standard. Acceleration is important for the industry that solves complex problems suitable for GA. The first part of the work contains theoretical background that is needed to understand the topic of parallelization GA and the OpenCL standard. The N-queens problem was chosen to demonstrate the capabilities of accelerating permutation genetic algorithm using the OpenCL standard. The designed model uses for acceleration two GPU cards. The last part of the work deals with benchmarking the parts that are important for GA. One random generator on the GPU is approximately 80 times faster than parallel version on the CPU. One evaluation method can be up to 8000 times faster on the GPU than on the CPU. The crossover functions did not obtain any significant speed-up. However, the parts are capable to obtain speed-ups but due to selection and crossover genetic algorithm operator the whole run of parallel GA on the GPU is maximally twice as fast as on the CPU.cs
dc.description.markBcs
dc.identifier.citationHRUŠOVSKÝ, M. Akcelerace genetického algoritmu s využitím OpenCL [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2010.cs
dc.identifier.other34796cs
dc.identifier.urihttp://hdl.handle.net/11012/54389
dc.language.isoencs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectGenetický algoritmusen
dc.subjectParalelní genetický algoritmusen
dc.subjectGPUen
dc.subjectOpenCLen
dc.subjectProblém N-damen
dc.subjectPermutační kříženíen
dc.subjectNVIDIA GTX285en
dc.subjectPMXen
dc.subjectOXen
dc.subjectgenerátor náhodných čísel XORshiften
dc.subjectgenerátor náhodných čísel HybridTausen
dc.subjectOpenMPen
dc.subjectvlákna.en
dc.subjectGenetic algorithmcs
dc.subjectParallel Genetic Algorithmcs
dc.subjectGPUcs
dc.subjectOpenCLcs
dc.subjectN-Queens Problemcs
dc.subjectPermutation Crossovercs
dc.subjectNVIDIA GTX285cs
dc.subjectPMXcs
dc.subjectOXcs
dc.subjectXORshift Random Generatorcs
dc.subjectHybridTaus Random Generatorcs
dc.subjectOpenMPcs
dc.subjectThreads.cs
dc.titleAkcelerace genetického algoritmu s využitím OpenCLen
dc.title.alternativeGenetic Algorithm Acceleration Using OpenCLcs
dc.typeTextcs
dc.type.drivermasterThesisen
dc.type.evskpdiplomová prácecs
dcterms.dateAccepted2010-06-22cs
dcterms.modified2020-05-09-23:41:59cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid34796en
sync.item.dbtypeZPen
sync.item.insts2025.03.26 14:49:43en
sync.item.modts2025.01.15 13:26:53en
thesis.disciplinePočítačové systémy a sítěcs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav počítačových systémůcs
thesis.levelInženýrskýcs
thesis.nameIng.cs
Files
Original bundle
Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
1.29 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
review_34796.html
Size:
1.45 KB
Format:
Hypertext Markup Language
Description:
file review_34796.html
Collections