Font Size: a A A

Parallel Implementation Of K-means Algorithm And Performance Optimization

Posted on:2018-05-13Degree:MasterType:Thesis
Country:ChinaCandidate:S J ZhongFull Text:PDF
GTID:2348330536457355Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
K-means algorithm is one of the most popular algorithm of clustering.Since K-means algorithm can be easily understood and implemented,and its execution is more efficient than common clustering algorithm,it has been widely used in many areas,such as pattern recognition,machine vision and information retrieval.This paper implements a K-means algorithm via CUDA technology and studies the performance and scalability of the algorithm implementation.CUDA technology presented by NVIDIA Corporation is a solution used to achieve GPU parallel computing.GPU is a processor dedicated to image operations,and image processing tasks have parallel and intensive calculation features,so the GPU is very suitable for parallel computing work.On the one hand,author needs to understand the technical characteristics of CUDA.On the other hand,the author needs to consider the implementation details of the algorithm in the process of algorithm implementation via CUDA.In order to improve the performance of the algorithm,the paper realizes parallel computing of the cycle condition of the algorithm by adding the tag information to the structure used to save the grouping information of data objects.The paper achieves the data transmission and computation in parallel using stream mechanism in the GPU side.The paper also achieves the operations of host side and device side in parallel using the asynchronous mechanism.Through the study of various memories involved,the paper optimizes the access operation of memories in the algorithm.The algorithm of this paper uses different implementations for small data sets and large data sets.Through the classification method,the algorithm achieves the balance between performance and scalability.Finally,through testing,the parallel K-means algorithm presented in this paper has improved the performance and scalability.Under certain conditions,the algorithm can meet the requirements of processing large data sets.On this basis,the author will continue optimizing the performance of the algorithm with the hope that it can achieve higher efficiency.
Keywords/Search Tags:CUDA, GPU, GPGPU, K-means, Parallel Computing
PDF Full Text Request
Related items