# Adapting the GACT-X Aligner to Accelerate Minimap2 in an FPGA Cloud Instance
## 1 Introduction
However, the hardware performs better when comparing solutions under the same integrated circuit technology node [26]. Despite having the best performances [27], ASICs present a high fabrication cost and become impracticable under a small volume production. In addition to that, the genomics field continues to evolve constantly, with new algorithms being published every year, so fixed solutions as such are avoided. With a focus on Minimap2 acceleration, previous studies have determined that the chaining and extending steps are its runtime bottlenecks when assembling long reads, taking together around 70% of the total execution time. Authors of such works have already successfully accelerated Minimap2's chaining step on FPGA and GPU [26]. Others have also implemented the extending step on CPU, GPU, and KNL (Knights Landing) [28]. To the authors' knowledge, no work in the literature has successfully accelerated Minimap2's extending step on an FPGA. The authors of [26] have concluded that FPGAs may achieve better thread performance than GPUs on algorithms such as the SWG algorithm. They induced this by considering the irregular-width integer type used and the availability of in/out data in BRAM (block random-access memory) for immediate access by the FPGA's combinational logic. Furthermore, GPUs' performance relies on parallelism, whereas read assembly, although parallelizable along reads, presents an extensive sequential processing pipeline for each read. FPGA hardware acceleration has been proposed for short-read alignment algorithms [19; 29], but they could not support long-read sequences of many thousands of nucleotides. This is due to the linear memory scaling factor in relation to the inputs' lengths present in the SWG algorithm's banding heuristics, coupled with the alignment score's increase with the number of matching nucleotides. The acceleration of alignment algorithms that have large inputs is impaired by the FPGA's limited processing memory resources. After Minimap2, a novel FPGA design that calculates the banded SWG alignment was submitted in Darwin-WGA [30], a whole genome aligner developed on an Amazon Web Services' (AWS) FPGA Instance. Darwin-WGA is a tool developed for comparison between two short genomes, not for read assembly. Its hardware aligner design, called GACT-X, is based on a systolic array architecture that has fixed memory consumption for arbitrarily sized sequences. Because of this, it may be considered for the processing of emerging long reads and conjectured as an alternative FPGA implementation to Minimap2's aligner. The GACT-X solution has raised an important issue in FPGA acceleration of genome-related algorithms, which has the fastest progress and change rate seen in the genomics field. This conflicts with the FPGA platforms' low accessibility and high maintenance overhead, since FPGAs consist of a very specific processor that is difficult to design, configure, and integrate into a general computer. Cloud instances with integrated FPGAs, such as the AWS' FPGA instances [31], make FPGAs accessible to users who do not wish to be subjected to the high initial development cost. AWS specifically also provides a hardware shell that facilitates integration with the CPU host, by wrapping any kernel to fit its FPGA's I/O (input/output) resources. Cloud solutions are also easier to replicate since they standardize the computation platform and environment. Although FPGA cloud providers announce up to 100\(\times\) acceleration for applications when compared to software implementations, previous works have indicated that the actually achievable acceleration is strongly limited by the platform's virtualized PCIe (peripheral component interconnect express) transfer's throughput and latency. The latter is dependent on the driver's technology and whether the virtual machines add extra virtual interrupts [32].