[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.

[es] El continuo progreso de la Ley de Moore en la mejora del rendimiento de un solo hilo a través de la frecuencia de reloj y las mejoras en el nodo de proceso se ha visto obstaculizado debido a limitaciones físicas. Esto ha resultado en un cambio hacia el uso de procesadores multinúcleo para lograr ganancias de rendimiento. Sin embargo, el rendimiento de los procesadores multinúcleo se ve limitado por la Ley de Amdahl, que limita cualquier aceleración por las partes secuenciales del software. En consecuencia, la industria tecnológica está enfocándose en la especialización y el desarrollo de aceleradores para mejorar el rendimiento de aplicaciones específicas. La genómica es el campo que se ocupa del estudio de los genes. Con los desarrollos actuales en tecnologías de secuenciación se produce una cantidad enorme de datos de manera más rápida y económica de lo previsto por la Ley de Moore. Sin embargo, el ensamblaje y análisis de estos datos llevan mucho tiempo en procesadores de propósito general. Por lo tanto, los aceleradores son esenciales en el campo de la genómica, especialmente para el ensamblaje de ADN. Al utilizar hardware especialmente diseñado para este dominio, como FPGAs o ASICs, los investigadores en genómica pueden lograr mejoras significativas en el rendimiento en comparación con los procesadores de propósito general. Gracias a los aceleradores, la velocidad de ensamblaje de ADN puede mantenerse al ritmo de la secuenciación de ADN, lo que permite un análisis y descubrimientos más rápidos en genómica. El objetivo principal de esta tesis es acelerar dos aplicaciones críticas del ensamblaje de ADN, el conteo de k-mers y la alineamiento de secuencias, utilizando FPGAs y ASICs. La primera contribución se centra en acelerar la aplicación de conteo de k-mers utilizando FPGAs y su adaptación en una aplicación de genómica llamada SMUFIN. La segunda y la tercera contribución se centran en acelerar con FPGAs el novedoso algoritmo de alineamiento de secuencias WFA. El acelerador de la segunda contribución está diseñado para secuencias cortas de ADN de hasta 300 bases, que son generadas por tecnologías de secuenciación de próxima generación. El acelerador de la tercera contribución está diseñado para secuencias largas de ADN de hasta 50.000 bases, que son generadas por tecnologías de secuenciación de tercera generación. En la cuarta contribución diseñamos un ASIC para acelerar el alinemiento de secuencias con WFA y lo integramos en un SoC RISC-V. En todas las contribuciones analizamos diferentes partes de la aplicación y trasladamos las partes más lentas al acelerador. También modificamos y rediseñamos las partes restantes de la CPU para adaptarlas al código del acelerador. En nuestra primera contribución, nuestro acelerador de conteo de k-mers mejora el rendimiento respecto al conteo de k-mers de SMUFIN en un factor de 2,14×, mientras consume 2,93× menos energía y 1,57× menos memoria en comparación con la implementación software de referencia. El rendimiento de los aceleradores de alineamiento de secuencias de la segunda y la tercera contribución se evalúa utilizando una y dos FPGAs. En comparación con la im- plementación software de referencia del algoritmo WFA, nuestro segundo acelerador alcanza mejoras de rendimiento de hasta 8,8× y 13,5× con una y dos FPGAs, respectivamente, y una mejora en eficiencia energética de hasta 9,7× y 14,6× con una y dos FPGAs, respectivamente. Nuestro tercer acelerador alcanza mejoras de rendimiento de hasta 5,6× y 9,9× con una y dos FPGAs, respectivamente, y una mejor en eficiencia energética de hasta 7,5× y 10,9× con una y dos FPGAs, respectivamente. En la cuarta contribución nuestro acelerador ASIC integrado en el SoC alcanza mejoras de rendimiento de hasta 1076× en comparación con la implementación software del algoritmo WFA en Sargantana, la CPU RISC-V del chip.