C/C++ biblioteka za dinamičko programiranje korištenjem SIMD instrukcija

Sažetak na hrvatskom: Deterministički algoritmi za poravnanje sekvenci poput Smith-Waterman algoritma i Needleman-Wunsch algoritma su spori ali daju optimalno rješenje. Koriste se u mnogim bioinformatičkim alatima kao centralna komponenta i često veliki dio ukupnog vremena računanja odlazi upravo na...

Full description

Permalink: http://skupni.nsk.hr/Record/fer.KOHA-OAI-FER:45607/Details
Glavni autor: Šošić, Martin (-)
Ostali autori: Šikić, Mile (Thesis advisor)
Vrsta građe: Drugo
Impresum: Zagreb, M. Šošić, 2014.
Predmet:
LEADER 05016na a2200241 4500
003 HR-ZaFER
005 20160516012023.0
008 160221s2014 ci ||||| m||| 00| 0 en d
035 |a (HR-ZaFER)ferid1696 
040 |a HR-ZaFER  |b hrv  |c HR-ZaFER  |e ppiak 
100 1 |a Šošić, Martin  |9 35359 
245 |a C/C++ biblioteka za dinamičko programiranje korištenjem SIMD instrukcija :  |b diplomski rad /  |c Martin Šošić ; [mentor Mile Šikić]. 
246 1 |a C/C++ biblioteka za dinamičko programiranje korištenjem SIMD instrukcija  |i Naslov na hrvatskom:  
260 |a Zagreb,  |b M. Šošić,  |c 2014. 
300 |a 49 str. ;  |c 30 cm +  |e CD-ROM 
502 |b diplomski studij  |c Fakultet elektrotehnike i računarstva u Zagrebu  |g smjer: Računarska znanost, šifra smjera: 56, datum predaje: 2014-06-30, datum završetka: 2014-09-24 
520 3 |a Sažetak na hrvatskom: Deterministički algoritmi za poravnanje sekvenci poput Smith-Waterman algoritma i Needleman-Wunsch algoritma su spori ali daju optimalno rješenje. Koriste se u mnogim bioinformatičkim alatima kao centralna komponenta i često veliki dio ukupnog vremena računanja odlazi upravo na njih. Kako bi se takvi algoritmi ubrzali nastale su brojne brze implementacije, od kojih veliki dio provodi paralelizaciju korištenjem ista-instrukcija-različiti-podaci (Single Instruction Multiple Data) (SIMD) podrške na procesoru ili grafičkoj kartici. Većina takvih brzih implementacija su samostalni alat ili dio nekog većeg alata te nisu napravljene za ponovno korištenje, što ograničava njihovu uporabu. Kako bismo neke od brzih implementacija učinili ponovno iskoristivima implementirali smo dvije C/C++ biblioteke za poravnanje sekvenci, obje temeljene na brzim SIMD implementacijama. SWIMD je biblioteka za pretragu baze i temelji se na Faster Smith-Waterman database searches (SWIPE) od Rognes-a. U našoj implementaciji dodali smo jednu globalnu i dvije polu-globalne metode poravnanja. Također smo dodali podršku za AVX2 skup instrukcija. Usporedili smo SWIMD sa trenutno najboljim implementacijama: SSW, SSEARCH i SWIPE. Pokazali smo da je SWIMD uz korištenje AVX2 skupa instrukcija najbrža implementacija. SWIMD je dostupan na http://github.com/Martinsos/swimd. EDLIB je biblioteka za poravnanje dvaju sekvenci koristeći udaljenost uređivanja i temelji se na Fast Bit-Vector Algorithm od Myers-a. u EDLIB-u smo dodali jednu globalnu i jednu polu-globalnu metodu poravnanja. Za globalnu metodu smo pokazali kako izračunati pojas ćelija u matrici koje su dio rješenja. Također smo dodali pronalazak puta poravnanja. EDLIB je dostupan na https://github.com/Martinsos/edlib. Stvorivši SWIMD i EDLIB stvorili smo ponovno iskoristive komponente važne za brojne bioinformatičke alate ali također iskoristive i u druge svrhe. Vjerujemo da će SWIMD i EDLIB omogućiti širu upotrebu brzih SIMD algoritama i da će mnogi alati imati koristi od njih. 
520 3 |a Sažetak na engleskom: Deterministic sequence alignment algorithms like Smith-Waterman and Needleman-Wunsch are slow but give optimal result. They are used in many bioinformatic tools as core components and very often they consume significant amount of CPU time. In order to make them faster, different fast implementations have been implemented, many of them performing parallelization using Single Instruction Multiple Data (SIMD) support on CPU or GPU. However, most of these fast implementations are either stand-alone tool or part of larger tool and were not made to be reusable, which is limiting their usage. In order to make some of this implementations reusable, we implemented two C/C++ libraries for sequence alignment, both based on fast SIMD implementations. SWIMD is library for database search and is based on Rognes's Faster Smith-Waterman database searches (SWIPE). In our implementation we added one global and two semi-global alignment methods. We also added support for AVX2 instruction set. We compared SWIMD with currently best implementations like SSW, SSEARCH and SWIPE and showed that SWIMD implementation using AVX2 is the fastest. SWIMD is available from http://github.com/Martinsos/swimd. EDLIB is library for pairwise sequence alignment using edit distance and is based on Myers's Fast Bit-Vector Algorithm. We added one global and one semi-global alignment method. For global method we have shown how to calculate the band. We also added finding of alignment path. EDLIB is available from https://github.com/Martinsos/edlib. By implementing this two libraries we provided reusable components important for many bioinformatic tools, but also usable for other purposes. We believe this will enable wider usage of fast SIMD algorithms and that many tools could benefit from using them. 
653 1 |a bioinformatika  |a sekvenca  |a poravnanje  |a SIMD  |a SSE  |a AVX2  |a biblioteka  |a paralelizacija 
653 1 |a bioinformatics  |a sequence  |a alignment  |a SIMD  |a SSE  |a AVX2  |a library  |a parallelization 
700 1 |a Šikić, Mile  |4 ths  |9 29535 
942 |c Y  |2 udc 
999 |c 45607  |d 45607