J. A. Riquelme, R. J. Barrientos, R. Hernández-García, C. Navarro
{"title":"基于GPU的穷举算法处理kNN查询","authors":"J. A. Riquelme, R. J. Barrientos, R. Hernández-García, C. Navarro","doi":"10.1109/SCCC51225.2020.9281231","DOIUrl":null,"url":null,"abstract":"The Nearest Neighbors search is a widely used technique with applications on several classification problems. Particularly, the k-nearest neighbor (kNN) algorithm is a well-known method used in modern information retrieval systems aiming to obtain relevant objects based on their similarity to a given query object. Although algorithms based on an exhaustive search have proven to be effective for the kNN classification, their main drawback is their high computational complexity, especially with high-dimensional data. In this work, we present a novel and parallel algorithm to solve kNN queries on a multi-GPU platform. The proposed method is comprised of two stages, which first is based on pivots using the value of K to reduce the search space, and the second one uses a set of heaps to return the final results. Experimental results showed that using between 1-4 GPUs, the proposed algorithm achieves speed-ups of 117x, 224x, 330x, and 389x, respectively. Besides, the obtained results were compared with previous approaches of the state-of-the-art (cp-select and CUB Library), evidencing the superiority of our proposal.","PeriodicalId":117157,"journal":{"name":"2020 39th International Conference of the Chilean Computer Science Society (SCCC)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"An exhaustive algorithm based on GPU to process a kNN query\",\"authors\":\"J. A. Riquelme, R. J. Barrientos, R. Hernández-García, C. Navarro\",\"doi\":\"10.1109/SCCC51225.2020.9281231\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The Nearest Neighbors search is a widely used technique with applications on several classification problems. Particularly, the k-nearest neighbor (kNN) algorithm is a well-known method used in modern information retrieval systems aiming to obtain relevant objects based on their similarity to a given query object. Although algorithms based on an exhaustive search have proven to be effective for the kNN classification, their main drawback is their high computational complexity, especially with high-dimensional data. In this work, we present a novel and parallel algorithm to solve kNN queries on a multi-GPU platform. The proposed method is comprised of two stages, which first is based on pivots using the value of K to reduce the search space, and the second one uses a set of heaps to return the final results. Experimental results showed that using between 1-4 GPUs, the proposed algorithm achieves speed-ups of 117x, 224x, 330x, and 389x, respectively. Besides, the obtained results were compared with previous approaches of the state-of-the-art (cp-select and CUB Library), evidencing the superiority of our proposal.\",\"PeriodicalId\":117157,\"journal\":{\"name\":\"2020 39th International Conference of the Chilean Computer Science Society (SCCC)\",\"volume\":\"23 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-11-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 39th International Conference of the Chilean Computer Science Society (SCCC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SCCC51225.2020.9281231\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 39th International Conference of the Chilean Computer Science Society (SCCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SCCC51225.2020.9281231","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
An exhaustive algorithm based on GPU to process a kNN query
The Nearest Neighbors search is a widely used technique with applications on several classification problems. Particularly, the k-nearest neighbor (kNN) algorithm is a well-known method used in modern information retrieval systems aiming to obtain relevant objects based on their similarity to a given query object. Although algorithms based on an exhaustive search have proven to be effective for the kNN classification, their main drawback is their high computational complexity, especially with high-dimensional data. In this work, we present a novel and parallel algorithm to solve kNN queries on a multi-GPU platform. The proposed method is comprised of two stages, which first is based on pivots using the value of K to reduce the search space, and the second one uses a set of heaps to return the final results. Experimental results showed that using between 1-4 GPUs, the proposed algorithm achieves speed-ups of 117x, 224x, 330x, and 389x, respectively. Besides, the obtained results were compared with previous approaches of the state-of-the-art (cp-select and CUB Library), evidencing the superiority of our proposal.