{"title":"基于gpu和MPI的c均值聚类的线性代数方法","authors":"Apostolos Glenis, Vu Pham","doi":"10.1109/PCi.2012.24","DOIUrl":null,"url":null,"abstract":"The fuzzy c-means clustering is a well-known unsupervised algorithm and has been widely used in various pattern recognition applications. As the amount of data increase, however, the basic serial implementation becomes overwhelmed. This is the main motivation for utilizing the computational power of parallel machines to speed up the c-means algorithm. We present an algorithm that exploits the mathematical equations in c-means to create building blocks based on linear algebra functions that are optimized for most available parallel architectures. We implemented our algorithm on both GPU (using CUDA and CUBLAS) and MPI (using MPI4py and NumPy), then evaluated their performance and scalability. Experiments show that our implementation outperforms all of available GPU implementations of c-means have been proposed so far.","PeriodicalId":131195,"journal":{"name":"2012 16th Panhellenic Conference on Informatics","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"A Linear Algebra Approach to C-Means Clustering Using GPUs and MPI\",\"authors\":\"Apostolos Glenis, Vu Pham\",\"doi\":\"10.1109/PCi.2012.24\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The fuzzy c-means clustering is a well-known unsupervised algorithm and has been widely used in various pattern recognition applications. As the amount of data increase, however, the basic serial implementation becomes overwhelmed. This is the main motivation for utilizing the computational power of parallel machines to speed up the c-means algorithm. We present an algorithm that exploits the mathematical equations in c-means to create building blocks based on linear algebra functions that are optimized for most available parallel architectures. We implemented our algorithm on both GPU (using CUDA and CUBLAS) and MPI (using MPI4py and NumPy), then evaluated their performance and scalability. Experiments show that our implementation outperforms all of available GPU implementations of c-means have been proposed so far.\",\"PeriodicalId\":131195,\"journal\":{\"name\":\"2012 16th Panhellenic Conference on Informatics\",\"volume\":\"24 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-10-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2012 16th Panhellenic Conference on Informatics\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/PCi.2012.24\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 16th Panhellenic Conference on Informatics","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PCi.2012.24","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A Linear Algebra Approach to C-Means Clustering Using GPUs and MPI
The fuzzy c-means clustering is a well-known unsupervised algorithm and has been widely used in various pattern recognition applications. As the amount of data increase, however, the basic serial implementation becomes overwhelmed. This is the main motivation for utilizing the computational power of parallel machines to speed up the c-means algorithm. We present an algorithm that exploits the mathematical equations in c-means to create building blocks based on linear algebra functions that are optimized for most available parallel architectures. We implemented our algorithm on both GPU (using CUDA and CUBLAS) and MPI (using MPI4py and NumPy), then evaluated their performance and scalability. Experiments show that our implementation outperforms all of available GPU implementations of c-means have been proposed so far.