  As a promising solution to boost the performance of distance-related
algorithms (e.g., K-means and KNN), FPGA-based acceleration attracts lots of
attention, but also comes with numerous challenges. In this work, we propose
AccD, a compiler-based framework for accelerating distance-related algorithms
on CPU-FPGA platforms. Specifically, AccD provides a Domain-specific Language
to unify distance-related algorithms effectively, and an optimizing compiler to
reconcile the benefits from both the algorithmic optimization on the CPU and
the hardware acceleration on the FPGA. The output of AccD is a high-performance
and power-efficient design that can be easily synthesized and deployed on
mainstream CPU-FPGA platforms. Intensive experiments show that AccD designs
achieve 31.42x speedup and 99.63x better energy efficiency on average over
standard CPU-based implementations.
