Abstract

Biclustering is an important technique in data mining for searching similar patterns. Geometric biclustering (GBC) method is used to reduce the complexity of the NP-complete biclustering algorithm. This paper studies three commonly used modern platforms including multi-core CPU, GPU and FPGA to accelerate this GBC algorithm. By analyzing the parallelizing property of the GBC algorithm, we design (1) a multi-threaded software running on a server grade multi-core CPU system, (2) a CUDA program for GPU to accelerate the GBC algorithm, and (3) a novel parameterizable and scalable hardware architecture implemented on an FPGA. Genes microarray pattern analysis is employed as an example to demonstrate performance comparisons on different platforms. In particular, we compare the speed and energy efficiency of the three proposed methods. We found that (a) GPU achieves the highest average speedup of 48x compared to single-threaded GBC program, (b) Our FPGA design can achieve higher speedup of 4x for the computation for large microarray, and (c) FPGA consumes the least energy, which is about 3.53x more efficient than the single-threaded GBC program.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call