Skip to Main Content
Scaling the number of cores on processor chips has become the trend for current semiconduction industry (i.e. Intel/AMD many-core CPU, Nvida GPU etc). Current software development should take advantage of those multi-core platforms to achieve high performance. But it is a challenging task to develop parallel software on multiple processor because of the well known problems such as deadlock, load balancing, cache conflicts etc. In this paper, we demonstrate the underlying principles for parallel software development for image processing on multicore CPUs. We study and parallelize two popular clustering algorithms: i) k-means and ii) mean-shift. The experimental results show that good parallel implementations of those algorithms is able to achieve nearly linear speedups on multicore processors.