Squire: A General-Purpose Accelerator to Exploit Fine-Grain Parallelism on Dependency-Bound Kernels
Rubén Langarita, Jesús Alastruey-Benedé, Pablo Ibáñez-Marín, Santiago Marco-Sola, Miquel Moretó, Adrià Armejach
TL;DR
Squire introduces a general-purpose accelerator architecture that exploits fine-grain parallelism in dependency-bound kernels by equipping each host core with a cluster of simple in-order workers and a hardware synchronization module. The design enables low-latency offload, shared memory access, and nested parallelism across data sorting, genomics, and signal-processing kernels, achieving up to 7.64$\times$ speedups on DP kernels and 3.66$\times$ end-to-end with energy reductions up to 56%. Through detailed kernel mappings (Radix Sort, Chain, DTW) and an end-to-end read-mapping tool, the authors demonstrate broad applicability, scalable performance with 8–16 workers, and modest area overhead (~10.5% per core). The work suggests Squire as a viable path to accelerate dependency-bound workloads within mainstream multicore systems, offering substantial practical impact for HPC and data-intensive domains.
Abstract
Multiple HPC applications are often bottlenecked by compute-intensive kernels implementing complex dependency patterns (data-dependency bound). Traditional general-purpose accelerators struggle to effectively exploit fine-grain parallelism due to limitations in implementing convoluted data-dependency patterns (like SIMD) and overheads due to synchronization and data transfers (like GPGPUs). In contrast, custom FPGA and ASIC designs offer improved performance and energy efficiency at a high cost in hardware design and programming complexity and often lack the flexibility to process different workloads. We propose Squire, a general-purpose accelerator designed to exploit fine-grain parallelism effectively on dependency-bound kernels. Each Squire accelerator has a set of general-purpose low-power in-order cores that can rapidly communicate among themselves and directly access data from the L2 cache. Our proposal integrates one Squire accelerator per core in a typical multicore system, allowing the acceleration of dependency-bound kernels within parallel tasks with minimal software changes. As a case study, we evaluate Squire's effectiveness by accelerating five kernels that implement complex dependency patterns. We use three of these kernels to build an end-to-end read-mapping tool that will be used to evaluate Squire. Squire obtains speedups up to 7.64$\times$ in dynamic programming kernels. Overall, Squire provides an acceleration for an end-to-end application of 3.66$\times$. In addition, Squire reduces energy consumption by up to 56% with a minimal area overhead of 10.5% compared to a Neoverse-N1 baseline.
