1. AN 856: K-Mean Clustering with the Intel® FPGA SDK for OpenCL™
When you have a set of data where each data point represents a d-dimensional observation, clustering divides that data into groups (or clusters) that are more similar to each other.
K-mean clustering was developed and optimized for different hardware platforms, and in this application note we propose a design for FPGAs using the Intel® FPGA SDK for OpenCL™ 1 2.
The Intel® FPGA SDK for OpenCL™ can help software engineers to develop and accelerate algorithms on higher efficiency platforms such as FPGAs much faster then coding in RTL.
In the following sections, we explain the k-mean clustering algorithm. Then, we discuss the OpenCL implementation of k-mean clustering. Finally, we provide some performance results comparing how the algorithm can be accelerated on an Intel® Arria® 10 FPGA versus an Intel Xeon CPU.