{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,30]],"date-time":"2025-10-30T07:06:47Z","timestamp":1761808007134,"version":"3.37.3"},"reference-count":18,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2015,12,13]],"date-time":"2015-12-13T00:00:00Z","timestamp":1449964800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"name":"Galician Government and FEDER funds of the EU","award":["GRC2013\/055"],"award-info":[{"award-number":["GRC2013\/055"]}]},{"DOI":"10.13039\/501100003329","name":"Ministerio de Econom\u00eda y Competitividad","doi-asserted-by":"publisher","award":["TIN2013-42148-P"],"award-info":[{"award-number":["TIN2013-42148-P"]}],"id":[{"id":"10.13039\/501100003329","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2017,1]]},"DOI":"10.1007\/s11227-015-1591-9","type":"journal-article","created":{"date-parts":[[2015,12,13]],"date-time":"2015-12-13T01:55:45Z","timestamp":1449971745000},"page":"4-16","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["BPLG\u2013BMCS: GPU-sorting algorithm using a tuning skeleton library"],"prefix":"10.1007","volume":"73","author":[{"given":"Adri\u00e1n P.","family":"Di\u00e9guez","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Margarita","family":"Amor","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ram\u00f3n","family":"Doallo","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2015,12,13]]},"reference":[{"key":"1591_CR1","doi-asserted-by":"crossref","unstructured":"Batcher KE (1968) Sorting networks and their applications. In: Proceedings of spring joint computer conference, AFIPS \u201968 (Spring), pp 307\u2013314","DOI":"10.1145\/1468075.1468121"},{"issue":"1","key":"1591_CR2","first-page":"197","volume":"20","author":"E Corwin","year":"2004","unstructured":"Corwin E, Logar A (2004) Sorting in linear time\u2014variations on the bucket sort. J Comput Sci Coll 20(1):197\u2013202","journal-title":"J Comput Sci Coll"},{"key":"1591_CR3","first-page":"4:1.4","volume":"14","author":"D Cederman","year":"2010","unstructured":"Cederman D, Tsigas P (2010) GPU-quicksort: a practical quicksort algorithm for graphics processors. J Exp Algorithmics 14:4:1.4\u20134:1.24","journal-title":"J Exp Algorithmics"},{"issue":"1","key":"1591_CR4","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1145\/1327452.1327492","volume":"51","author":"J Dean","year":"2008","unstructured":"Dean J, Ghemawat S (2008) MapReduce: simplified data processing on large clusters. Commun ACM 51(1):107\u2013113","journal-title":"Commun ACM"},{"key":"1591_CR5","unstructured":"Di\u00e9guez AP, Amor M, Doallo R (2015) BS-Comb: an efficient sorting algorithm for GPUs. In: Proceedings of the 15th international conference on computational and mathematical methods in science and engineering, CMMSE 2015, pp 461\u2013473"},{"issue":"39","key":"1591_CR6","first-page":"851","volume":"3","author":"M Harris","year":"2007","unstructured":"Harris M, Sengupta S, Owens JD (2007) Parallel prefix sum (scan) with CUDA. GPU Gems 3(39):851\u2013876","journal-title":"GPU Gems"},{"key":"1591_CR7","doi-asserted-by":"crossref","unstructured":"Hoare CAR (1961) Algorithm 64: Quicksort. Commun ACM 4(7):321","DOI":"10.1145\/366622.366644"},{"key":"1591_CR8","unstructured":"Kipfer P, Westermann R (2005) GPU Gems 2-Chapter 46. Improved GPU Sorting"},{"issue":"4","key":"1591_CR9","doi-asserted-by":"crossref","first-page":"831","DOI":"10.1145\/322217.322232","volume":"27","author":"RE Ladner","year":"1980","unstructured":"Ladner RE, Fischer MJ (1980) Parallel prefix computation. J ACM 27(4):831\u2013838","journal-title":"J ACM"},{"key":"1591_CR10","doi-asserted-by":"publisher","unstructured":"Lobeiras J, Amor M, Doallo R (2015) Designing efficient index-digit algorithms for CUDA GPU architectures. IEEE Trans Parallel Distrib Syst. doi: 10.1109\/TPDS.2015.2450718","DOI":"10.1109\/TPDS.2015.2450718"},{"issue":"6","key":"1591_CR11","doi-asserted-by":"crossref","first-page":"1078","DOI":"10.1007\/s10766-014-0323-8","volume":"43","author":"J Lobeiras","year":"2015","unstructured":"Lobeiras J, Amor M, Doallo R (2015) BPLG: a tuned butterfly processing library for GPU architectures. Int J Parallel Prog 43(6):1078\u20131102","journal-title":"Int J Parallel Prog"},{"key":"1591_CR12","unstructured":"Nvidia Comp. (2013) Modern GPU library. https:\/\/github.com\/NVlabs\/moderngpu"},{"key":"1591_CR13","unstructured":"Nvidia Comp. (2014) CUDPP: CUDA data parallel primitives library. http:\/\/cudpp.github.io\/"},{"key":"1591_CR14","unstructured":"Nvidia Comp. (2015) CUB library. http:\/\/nvlabs.github.io\/cub\/"},{"key":"1591_CR15","doi-asserted-by":"crossref","unstructured":"Satish N, Harris M, Garland M (2009) Designing efficient sorting algorithms for manycore GPUs. In: Proceedings of the 2009 IEEE international symposium on parallel and distributed processing, IPDPS \u201909, pp 1\u201310","DOI":"10.1109\/IPDPS.2009.5161005"},{"key":"1591_CR16","unstructured":"Sengupta S, Harris M, Zhang Y, Owens JD (2007) Scan primitives for GPU computing. In: Proceedings of the 22Nd ACM SIGGRAPH\/EUROGRAPHICS symposium on graphics hardware, GH \u201907, pp 97\u2013106"},{"issue":"10","key":"1591_CR17","doi-asserted-by":"crossref","first-page":"1381","DOI":"10.1016\/j.jpdc.2008.05.012","volume":"68","author":"E Sintorn","year":"2008","unstructured":"Sintorn E, Assarsson U (2008) Fast parallel GPU-sorting using a hybrid algorithm. J Parallel Distrib Comput 68(10):1381\u20131388","journal-title":"J Parallel Distrib Comput"},{"key":"1591_CR18","doi-asserted-by":"crossref","unstructured":"Zagha M, Blelloch GE (1991) Radix sort for vector multiprocessors. In: Proceedings Supercomputing \u201991, pp 712\u2013721","DOI":"10.1145\/125826.126164"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-015-1591-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11227-015-1591-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-015-1591-9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-015-1591-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,1]],"date-time":"2019-06-01T06:40:44Z","timestamp":1559371244000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11227-015-1591-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,12,13]]},"references-count":18,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2017,1]]}},"alternative-id":["1591"],"URL":"https:\/\/doi.org\/10.1007\/s11227-015-1591-9","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"type":"print","value":"0920-8542"},{"type":"electronic","value":"1573-0484"}],"subject":[],"published":{"date-parts":[[2015,12,13]]}}}