  Genome sequence alignment is the core of many biological applications. The
advancement of sequencing technologies produces a tremendous amount of data,
making sequence alignment a critical bottleneck in bioinformatics analysis. The
existing hardware accelerators for alignment suffer from limited on-chip
memory, costly data movement, and poorly optimized alignment algorithms. They
cannot afford to concurrently process the massive amount of data generated by
sequencing machines. In this paper, we propose a ReRAM-based accelerator,
RAPIDx, using processing in-memory (PIM) for sequence alignment. RAPIDx
achieves superior efficiency and performance via software-hardware co-design.
First, we propose an adaptive banded parallelism alignment algorithm suitable
for PIM architecture. Compared to the original dynamic programming-based
alignment, the proposed algorithm significantly reduces the required
complexity, data bit width, and memory footprint at the cost of negligible
accuracy degradation. Then we propose the efficient PIM architecture that
implements the proposed algorithm. The data flow in RAPIDx achieves four-level
parallelism and we design an in-situ alignment computation flow in ReRAM,
delivering $5.5$-$9.7\times$ efficiency and throughput improvements compared to
our previous PIM design, RAPID. The proposed RAPIDx is reconfigurable to serve
as a co-processor integrated into existing genome analysis pipeline to boost
sequence alignment or edit distance calculation. On short-read alignment,
RAPIDx delivers $131.1\times$ and $46.8\times$ throughput improvements over
state-of-the-art CPU and GPU libraries, respectively. As compared to ASIC
accelerators for long-read alignment, the performance of RAPIDx is
$1.8$-$2.9\times$ higher.
