{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,6]],"date-time":"2023-10-06T20:39:43Z","timestamp":1696624783123},"reference-count":26,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2015,5,7]],"date-time":"2015-05-07T00:00:00Z","timestamp":1430956800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2015,6]]},"DOI":"10.1007\/s11227-014-1352-1","type":"journal-article","created":{"date-parts":[[2015,5,6]],"date-time":"2015-05-06T06:30:14Z","timestamp":1430893814000},"page":"2204-2220","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Developing adaptive multi-device applications with the Heterogeneous Programming Library"],"prefix":"10.1007","volume":"71","author":[{"given":"Mois\u00e9s","family":"\u00a0Vi\u00f1as","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zeki\u00a0","family":"Bozkus","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Basilio\u00a0 B.","family":"\u00a0Fraguela","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Diego\u00a0","family":"Andrade","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ram\u00f3n\u00a0","family":"Doallo","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2015,5,7]]},"reference":[{"issue":"3","key":"1352_CR1","doi-asserted-by":"crossref","first-page":"1125","DOI":"10.1007\/s11227-013-0895-x","volume":"65","author":"A Acosta","year":"2013","unstructured":"Acosta A, Almeida F (2013) Skeletal based programming for dynamic programming on multiGPU systems. J Supercomput 65(3):1125\u20131136","journal-title":"J Supercomput"},{"key":"1352_CR2","doi-asserted-by":"crossref","unstructured":"Barak A, Ben-Nun T, Levy E, Shiloh A (2010) A package for OpenCL based heterogeneous computing on clusters with many GPU devices. In: 2010 IEEE international conference on cluster computing workshops and posters (CLUSTER WORKSHOPS), pp 1\u20137","DOI":"10.1109\/CLUSTERWKSP.2010.5613086"},{"key":"1352_CR3","doi-asserted-by":"crossref","unstructured":"Duato J, Pena A, Silla F, Mayo R, Quintana-Ort\u00ed E (2010) rCUDA: reducing the number of GPU-based accelerators in high performance clusters. In: 2010 International conference on high performance computing and simulation (HPCS 2010), pp 224\u2013231","DOI":"10.1109\/HPCS.2010.5547126"},{"issue":"2","key":"1352_CR4","doi-asserted-by":"crossref","first-page":"173","DOI":"10.1142\/S0129626411000151","volume":"21","author":"A Duran","year":"2011","unstructured":"Duran A, Ayguad\u00e9 E, Badia R, Labarta J, Martinell L, Martorell X, Planas J (2011) OmpSs: a proposal for programming heterogeneous multi-core architectures. Parallel Process Lett 21(2):173\u2013193","journal-title":"Parallel Process Lett"},{"issue":"10","key":"1352_CR5","doi-asserted-by":"crossref","first-page":"49","DOI":"10.1145\/966049.781505","volume":"38","author":"BB Fraguela","year":"2003","unstructured":"Fraguela BB, Renau J, Feautrier P, Padua D, Torrellas J (2003) Programming the FlexRAM parallel intelligent memory system. ACM SIGPLAN Not 38(10):49\u201360","journal-title":"ACM SIGPLAN Not"},{"issue":"4","key":"1352_CR6","doi-asserted-by":"crossref","first-page":"255","DOI":"10.1002\/(SICI)1096-9128(199704)9:4<255::AID-CPE250>3.0.CO;2-2","volume":"9","author":"RAVD Geijn","year":"1997","unstructured":"Geijn RAVD, Watts J (1997) SUMMA: scalable universal matrix multiplication algorithm. Concurr Comput Pract Exp 9(4):255\u2013274","journal-title":"Concurr Comput Pract Exp"},{"issue":"9","key":"1352_CR7","doi-asserted-by":"crossref","first-page":"475","DOI":"10.1016\/j.parco.2013.04.012","volume":"39","author":"C Gonz\u00e1lez","year":"2013","unstructured":"Gonz\u00e1lez C, Fraguela B (2013) A framework for argument-based task synchronization with automatic detection of dependencies. Parallel Comput 39(9):475\u2013489","journal-title":"Parallel Comput"},{"key":"1352_CR8","doi-asserted-by":"crossref","unstructured":"Grasso I, Pellegrini S, Cosenza B, Fahringer T (2013) LibWater: heterogeneous distributed computing made easy. In: International conference on supercomputing (ICS\u201913), pp 161\u2013172","DOI":"10.1145\/2464996.2465008"},{"issue":"1","key":"1352_CR9","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1002\/cpe.1340","volume":"21","author":"J Guo","year":"2009","unstructured":"Guo J, Bikshandi G, Fraguela B, Padua D (2009) Writing productive stencil codes with overlapped tiling. Concurr Comput Pract Exp 21(1):25\u201339","journal-title":"Concurr Comput Pract Exp"},{"key":"1352_CR10","volume-title":"Elements of software science","author":"MH Halstead","year":"1977","unstructured":"Halstead MH (1977) Elements of software science. Elsevier Science Inc., New York, USA"},{"issue":"12","key":"1352_CR11","doi-asserted-by":"crossref","first-page":"1639","DOI":"10.1016\/j.jpdc.2013.07.021","volume":"73","author":"P Kegel","year":"2013","unstructured":"Kegel P, Steuwer M, Gorlatch S (2013) dOpenCL: towards uniform programming of distributed heterogeneous multi-\/many-core systems. J Parallel Distrib Comput 73(12):1639\u20131648","journal-title":"J Parallel Distrib Comput"},{"key":"1352_CR12","unstructured":"Khronos OpenCL Working Group (2013) The OpenCL specification. Version 2"},{"key":"1352_CR13","doi-asserted-by":"crossref","unstructured":"Kim J, Seo S, Lee J, Nah J, Jo G, Lee J (2012) SnuCL: an OpenCL framework for heterogeneous CPU\/GPU clusters. In: Proceedings of the 26th ACM international conference on supercomputing (ICS\u201912), pp 341\u2013352","DOI":"10.1145\/2304576.2304623"},{"issue":"9","key":"1352_CR14","doi-asserted-by":"crossref","first-page":"690","DOI":"10.1109\/TC.1979.1675439","volume":"28","author":"L Lamport","year":"1979","unstructured":"Lamport L (1979) How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans Comput 28(9):690\u2013691","journal-title":"IEEE Trans Comput"},{"issue":"4","key":"1352_CR15","doi-asserted-by":"crossref","first-page":"321","DOI":"10.1145\/75104.75105","volume":"7","author":"K Li","year":"1989","unstructured":"Li K, Hudak P (1989) Memory coherence in shared virtual memory systems. ACM Trans Comput Syst 7(4):321\u2013359","journal-title":"ACM Trans Comput Syst"},{"key":"1352_CR16","doi-asserted-by":"crossref","unstructured":"Lobeiras J, Vi\u00f1as M, Amor M, Fraguela B, Arenaz M, Garc\u00eda J, Castro M (2013) Parallelization of shallow water simulations on current multi-threaded systems. Int J High Perform Comput Appl 27(4):493\u2013512","DOI":"10.1177\/1094342012464800"},{"issue":"1","key":"1352_CR17","doi-asserted-by":"crossref","first-page":"88","DOI":"10.1007\/s10766-010-0144-3","volume":"39","author":"RV Nieuwpoort","year":"2011","unstructured":"Nieuwpoort RV, Romein JW (2011) Correlating radio astronomy signals with many-core hardware. Int J Parallel Program 39(1):88\u2013114","journal-title":"Int J Parallel Program"},{"key":"1352_CR18","unstructured":"Nvidia (2008) Nvidia: CUDA compute unified device architecture"},{"key":"1352_CR19","doi-asserted-by":"crossref","unstructured":"Seo S, Jo G, Lee J (2011) Performance characterization of the NAS parallel benchmarks in OpenCL. In: Proceedings of the 2011 IEEE international symposium on workload characterization, IISWC \u201911, pp 137\u2013148","DOI":"10.1109\/IISWC.2011.6114174"},{"key":"1352_CR20","doi-asserted-by":"crossref","unstructured":"Steuwer M, Gorlatch S (2014) SkelCL: a high-level extension of OpenCL for multi-GPU systems. J Supercomput 69(1):25\u201333","DOI":"10.1007\/s11227-014-1213-y"},{"issue":"5","key":"1352_CR21","doi-asserted-by":"crossref","first-page":"54","DOI":"10.1109\/2.53355","volume":"23","author":"M Stumm","year":"1990","unstructured":"Stumm M, Zhou S (1990) Algorithms implementing distributed shared memory. Computer 23(5):54\u201364","journal-title":"Computer"},{"key":"1352_CR22","doi-asserted-by":"crossref","unstructured":"Thoman P, Kofler K, Studt H, Thomson J, Fahringer T (2011) Automatic OpenCL device characterization: guiding optimized kernel design. In: Euro-Par\u201911, LNCS, vol 6853. Springer, pp 438\u2013452","DOI":"10.1007\/978-3-642-23397-5_43"},{"issue":"12","key":"1352_CR23","doi-asserted-by":"crossref","first-page":"1627","DOI":"10.1016\/j.jpdc.2013.07.013","volume":"73","author":"M Vi\u00f1as","year":"2013","unstructured":"Vi\u00f1as M, Bozkus Z, Fraguela B (2013) Exploiting heterogeneous parallelism with the Heterogeneous Programming Library. J Parallel Distrib Comput 73(12):1627\u20131638","journal-title":"J Parallel Distrib Comput"},{"key":"1352_CR24","unstructured":"Vi\u00f1as M, Bozkus Z, Fraguela B, Andrade D, Doallo R (2014) Exploiting multi-GPU systems using the Heterogeneous Programming Library. In: 14th International conference on computational and mathematical methods in science and engineering (CMMSE 2014), pp 1280\u20131291"},{"issue":"8","key":"1352_CR25","doi-asserted-by":"crossref","first-page":"1153","DOI":"10.1002\/cpe.2917","volume":"25","author":"M Vi\u00f1as","year":"2013","unstructured":"Vi\u00f1as M, Lobeiras J, Fraguela B, Arenaz M, Amor M, Garc\u00eda J, Castro M, Doallo R (2013) A multi-GPU shallow-water simulation with transport of contaminants. Concurr Comput Pract Exp 25(8):1153\u20131169","journal-title":"Concurr Comput Pract Exp"},{"key":"1352_CR26","doi-asserted-by":"crossref","unstructured":"Xu R, Chandrasekaran S, Chapman B (2013) Exploring programming multi-GPUs using OpenMP and OpenACC-based hybrid model. In: 2013 IEEE 27th International parallel and distributed processing symposium workshops Ph.D. forum (IPDPSW), pp 1169\u20131176","DOI":"10.1109\/IPDPSW.2013.263"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-014-1352-1.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11227-014-1352-1\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-014-1352-1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,6,1]],"date-time":"2019-06-01T10:40:38Z","timestamp":1559385638000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11227-014-1352-1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,5,7]]},"references-count":26,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2015,6]]}},"alternative-id":["1352"],"URL":"https:\/\/doi.org\/10.1007\/s11227-014-1352-1","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"value":"0920-8542","type":"print"},{"value":"1573-0484","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,5,7]]}}}