[ca] El progressiu desenvolupament de la Llei de Moore per a millorar el rendiment de fils individuals mitjançant la freqüència de rellotge i les millores en el node de procés s'ha vist obstaculitzat a causa de limitacions físiques. Això ha resultat en un canvi cap a l'ús de processadors multinucli per aconseguir guanys de rendiment. No obstant això, el rendiment dels processadors multinucli està limitat per la Llei d'Amdahl, que limita qualsevol acceleració per les parts sequencials del programa. En conseqüència, la indústria tecnològica està posant l'accent en la especialització i el desenvolupament d'acceleradors per millorar el rendiment d'aplicacions específiques. La genòmica és el camp que es dedica a l'estudi dels gens. Amb els desenvolupaments actu- als en tecnologies de seqüenciació es produeix una enorme quantitat de dades més ràpidament i econòmicament que el previst per la Llei de Moore. No obstant això, l'assemblatge i l'anàlisi d'aquestes dades és molt lent en processadors de propòsit general. Per tant, els acceleradors són essencials en el camp de la genòmica, especialment per a l'assemblatge d'ADN. Utilitzant hardware dissenyat per a aquest domini concret, com ara FPGAs o ASICs, els investigadors en genòmica poden aconseguir millores significatives en el rendiment en comparació amb els processadors de propòsit general. Gràcies als acceleradors, la velocitat de l'assemblatge d'ADN pot mantenir-se al ritme de la seqüenciació d'ADN, el que permet un anàlisi i descobriments més ràpids en genòmica. L'objectiu principal d'aquesta tesi és accelerar dues aplicacions crítiques de l'assemblatge d'ADN, el recompte de k-mers i l'alineament de seqüències, utilitzant FPGAs i ASICs. La primera contribució es centra en accelerar l'aplicació de recompte de k-mers utilitzant FPGAs i la seva adaptació en una aplicació de genòmica anomenada SMUFIN. La segona i la tercera contribució es centren en accelerar amb FPGAs el nou algoritme d'alineament de seqüències WFA. L'accelerador de la segona contribució està dissenyat per a seqüències curtes d'ADN de fins a 300 bases, que són generades per tecnologies de seqüenciació de pròxima generació. L'accelerador de la tercera contribució està dissenyat per a seqüències llargues d'ADN de fins a 50.000 bases, que són generades per tecnologies de seqüenciació de tercera generació. En la quarta contribució dissenyem un ASIC per accelerar l'alineament de seqüències amb WFA i l'integrem en un SoC RISC-V. En totes les contribucions analitzem diferents parts de l'aplicació i portem les parts més lentes a l'accelerador. També modifiquem i redisenyem les parts restants de la CPU per adaptar-les al codi de l'accelerador En la nostra primera contribució, el nostre accelerador de recompte de k-mers millora el rendiment del recompte de k-mers de SMUFIN en un factor de 2,14×, mentre que consumeix un 2,93× menys energia i un 1,57× menys memòria en comparació amb la implementació software de referència. El rendiment dels acceleradors d'alineament de seqüències de la segona i la tercera contribució s'avalua utilitzant una i dues FPGAs. En comparació amb la implementació software de referència de l'algoritme WFA, el segon accelerador millora el rendiment fins a 8,8× i 13,5× amb una i dues FPGAs, respectivament, i millora la eficiència energètica fins a 9,7× i 14,6× amb una i dues FPGAs, respectivament. El tercer accelerador arriba a millores de rendiment de fins a 5,6× i 9,9× amb una i dues FPGAs, respectivament, i una millor eficiència energètica de fins a 7,5× i 10,9× amb una i dues FPGAs, respectivament. En la quarta contribució el nostre accelerador ASIC integrat en el SoC millora el rendiment fins a 1076× en comparació amb la implementació software de l'algoritme WFA a Sargantana, la CPU RISC-V del xip.

[en] The continuous progress of Moore's Law in improving single-threaded performance (execution time) through clock frequency and process node improvements has slowed down due to physical limitations in silicon device physics. This has resulted in a shift towards using multicore processors to achieve performance gains. However, the use of multiprocessing is limited by Amdahl's Law, in which the sequential parts of the applications restrict the speedups in parallel systems. Consequently, the technology industry is now emphasizing specialization and developing domain-specific accelerators to enhance performance compared to general-purpose computers. Genomics is a field that deals with the study of genes and their functions. Thanks to current and ongoing advancements, each stage of development in sequencing technologies is able to produce enormous amounts of data at an increasingly faster and cheaper way compared to its previous stage. However, the assembly and analysis of this data take extensive time on general- purpose processors, and the processor performance is growing at a much slower pace than the DNA sequencing speed. Hence, domain-specific accelerators are becoming increasingly essential in the genomics field, especially for DNA assembly. Specialized hardware computing devices designed for this specific domain can achieve significant performance improvements compared to general-purpose computers. Thus, with domain-specific accelerators, the speed of DNA assembly can keep up with the pace of DNA sequencing, allowing for quicker analysis and discoveries in the genomics field. The main goal of this thesis is to accelerate two critical applications of DNA assembly, k-mer counting and pairwise read alignment, using FPGAs and ASICs. The first contribution of this thesis targets accelerating the k-mer counting application using FPGAs and its adaptation in a genomics application called SMUFIN, a Somatic MUtation FINder. The second and third contributions focus on exploiting FPGAs for accelerating the Wavefront Alignment (WFA), a novel pairwise read alignment algorithm for aligning DNA sequences generated by different sequencing technologies. The accelerator in the second contribution is customized for short DNA sequences of up to 300 bases, which are generated by next generation sequencing technologies, while the accelerator in the third contribution is customized for long DNA sequences of up to 50K bases, which are generated by third generation sequencing technologies. The fourth contribution proposes an ASIC accelerator of the WFA algorithm and its integration in a RISC-V SoC. In all contributions, we analyze different parts of the application and port the most time-consuming parts to the accelerator. We also modify and re-design the remaining CPU parts to better adapt them to the accelerator code and finally propose efficient co-designed accelerated designs. In our first contribution, the integration of our k-mer counting accelerator improves the SMUFIN k-mer counting performance by 2.14× while consuming 2.93× less energy and 1.57× less memory compared to the baseline multi-threaded software implementation. The performance of the WFA accelerators in the second and third contributions is evaluated using one and two FPGAs. Compared to the baseline multi-threaded software implementation of the WFA running on a IBM POWER9 high-performance processor, our WFA accelerator for short reads reaches performance improvements of up to 8.8× and 13.5× with one and two FPGAs, respectively. The WFA accelerator for long reads reaches performance improvements of up to 5.6× and 9.9× with one and two FPGAs, respectively. In our fourth contribution, our ASIC WFA accelerator integrated in the RISC-V SoC reaches performance improvements of up to 1076× compared to the single-threaded software implementation of the WFA on Sargantana, the RISC-V CPU of the chip.