{"id":"https://openalex.org/W2878447367","doi":"https://doi.org/10.1109/tpds.2018.2855182","title":"PHAST - A Portable High-Level Modern C++ Programming Library for GPUs and Multi-Cores","display_name":"PHAST - A Portable High-Level Modern C++ Programming Library for GPUs and Multi-Cores","publication_year":2018,"publication_date":"2018-07-11","ids":{"openalex":"https://openalex.org/W2878447367","doi":"https://doi.org/10.1109/tpds.2018.2855182","mag":"2878447367"},"language":"en","primary_location":{"id":"doi:10.1109/tpds.2018.2855182","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2018.2855182","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5021283515","display_name":"Biagio Peccerillo","orcid":"https://orcid.org/0000-0002-4998-0092"},"institutions":[{"id":"https://openalex.org/I102064193","display_name":"University of Siena","ror":"https://ror.org/01tevnk56","country_code":"IT","type":"education","lineage":["https://openalex.org/I102064193"]}],"countries":["IT"],"is_corresponding":true,"raw_author_name":"Biagio Peccerillo","raw_affiliation_strings":["Department of Information Engineering and Mathematical Sciences, University of Siena, Siena, Italy"],"raw_orcid":"https://orcid.org/0000-0002-4998-0092","affiliations":[{"raw_affiliation_string":"Department of Information Engineering and Mathematical Sciences, University of Siena, Siena, Italy","institution_ids":["https://openalex.org/I102064193"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047011963","display_name":"Sandro Bartolini","orcid":"https://orcid.org/0000-0002-7975-3632"},"institutions":[{"id":"https://openalex.org/I102064193","display_name":"University of Siena","ror":"https://ror.org/01tevnk56","country_code":"IT","type":"education","lineage":["https://openalex.org/I102064193"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Sandro Bartolini","raw_affiliation_strings":["Department of Information Engineering and Mathematical Sciences, University of Siena, Siena, Italy"],"raw_orcid":"https://orcid.org/0000-0002-7975-3632","affiliations":[{"raw_affiliation_string":"Department of Information Engineering and Mathematical Sciences, University of Siena, Siena, Italy","institution_ids":["https://openalex.org/I102064193"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5021283515"],"corresponding_institution_ids":["https://openalex.org/I102064193"],"apc_list":null,"apc_paid":null,"fwci":1.5764,"has_fulltext":false,"cited_by_count":19,"citation_normalized_percentile":{"value":0.82321717,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"30","issue":"1","first_page":"174","last_page":"189"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10101","display_name":"Cloud Computing and Resource Management","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8537557721138},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.7913317680358887},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.7383229732513428},{"id":"https://openalex.org/keywords/multi-core-processor","display_name":"Multi-core processor","score":0.6208849549293518},{"id":"https://openalex.org/keywords/workstation","display_name":"Workstation","score":0.5522225499153137},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5355626940727234},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.5075563192367554},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.4979267120361328},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4811052680015564},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.4636325538158417},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.44979995489120483},{"id":"https://openalex.org/keywords/server","display_name":"Server","score":0.4190968871116638},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2647283375263214},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.11083140969276428}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8537557721138},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.7913317680358887},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.7383229732513428},{"id":"https://openalex.org/C78766204","wikidata":"https://www.wikidata.org/wiki/Q555032","display_name":"Multi-core processor","level":2,"score":0.6208849549293518},{"id":"https://openalex.org/C67953723","wikidata":"https://www.wikidata.org/wiki/Q192525","display_name":"Workstation","level":2,"score":0.5522225499153137},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5355626940727234},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5075563192367554},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.4979267120361328},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4811052680015564},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4636325538158417},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.44979995489120483},{"id":"https://openalex.org/C93996380","wikidata":"https://www.wikidata.org/wiki/Q44127","display_name":"Server","level":2,"score":0.4190968871116638},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2647283375263214},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.11083140969276428},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/tpds.2018.2855182","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2018.2855182","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-article"},{"id":"pmh:oai:usiena-air.unisi.it:11365/1064529","is_oa":false,"landing_page_url":"http://hdl.handle.net/11365/1064529","pdf_url":null,"source":{"id":"https://openalex.org/S4377196319","display_name":"Use Siena air (University of Siena)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I102064193","host_organization_name":"University of Siena","host_organization_lineage":["https://openalex.org/I102064193"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/8","display_name":"Decent work and economic growth","score":0.44999998807907104}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":40,"referenced_works":["https://openalex.org/W31923072","https://openalex.org/W55478891","https://openalex.org/W130335131","https://openalex.org/W174372375","https://openalex.org/W1505648523","https://openalex.org/W1508286210","https://openalex.org/W1523982624","https://openalex.org/W1555915743","https://openalex.org/W1575350781","https://openalex.org/W1832996375","https://openalex.org/W1898555330","https://openalex.org/W1964962870","https://openalex.org/W1988888548","https://openalex.org/W1990090459","https://openalex.org/W2009654791","https://openalex.org/W2010936531","https://openalex.org/W2026048928","https://openalex.org/W2056522853","https://openalex.org/W2076812085","https://openalex.org/W2107096626","https://openalex.org/W2121893797","https://openalex.org/W2122078011","https://openalex.org/W2148679215","https://openalex.org/W2151788546","https://openalex.org/W2153645222","https://openalex.org/W2272866099","https://openalex.org/W2336021669","https://openalex.org/W2467029880","https://openalex.org/W2614101922","https://openalex.org/W2621404445","https://openalex.org/W2725179571","https://openalex.org/W2743397900","https://openalex.org/W2754773169","https://openalex.org/W2765481937","https://openalex.org/W4247828381","https://openalex.org/W4285719527","https://openalex.org/W6602259970","https://openalex.org/W6682953413","https://openalex.org/W6738223717","https://openalex.org/W6745566620"],"related_works":["https://openalex.org/W4311649166","https://openalex.org/W2081245617","https://openalex.org/W2259585419","https://openalex.org/W2092007952","https://openalex.org/W2545694617","https://openalex.org/W4318710947","https://openalex.org/W2950208414","https://openalex.org/W164750744","https://openalex.org/W4367318713","https://openalex.org/W2793542907"],"abstract_inverted_index":{"A":[0],"decade":[1],"after":[2],"the":[3,6,140],"beginning":[4],"of":[5,46,120,142,171],"many-core":[7],"era,":[8],"multi-core":[9,101],"CPU":[10],"and":[11,23,41,48,68,83,90,100,130,152,162,168],"GPU":[12],"architectures":[13,115],"are":[14],"everywhere,":[15],"from":[16,134,148,165],"mobile":[17],"devices":[18],"up":[19],"to":[20,30,35,56,107,122],"high-performance":[21,124],"workstations":[22],"servers.":[24],"To":[25,138],"this":[26,71],"day,":[27],"programmers":[28,109],"willing":[29],"harness":[31],"their":[32,37,155],"power":[33],"need":[34],"express":[36],"code":[38,111,133,180],"via":[39],"languages":[40],"frameworks":[42],"that":[43,93,175],"often":[44],"lack":[45],"expressivity":[47],"high-level":[49],"abstractions.":[50],"These":[51],"solutions,":[52],"despite":[53],"allowing":[54,126],"users":[55],"reach":[57,123],"unprecedented":[58],"performance,":[59],"can":[60,94,177],"still":[61],"be":[62,95],"a":[63,76,117],"hampering":[64],"factor":[65],"for":[66,113],"productivity":[67,169],"portability.":[69],"In":[70],"paper":[72],"we":[73,145,153],"propose":[74],"PHAST,":[75],"modern":[77],"C++,":[78],"STL-like,":[79],"single-source":[80],"programming":[81],"library":[82],"approach":[84],"based":[85],"on":[86,97],"multi-dimensional":[87],"dynamic":[88],"containers":[89],"multi-layered":[91],"functors":[92],"targeted":[96],"NVIDIA":[98],"GPUs":[99],"CPUs.":[102],"Its":[103],"main":[104],"purpose":[105],"is":[106],"let":[108],"write":[110],"once":[112],"different":[114,149],"at":[116],"high":[118],"level":[119],"abstraction,":[121],"while":[125,183],"fine":[127],"parameter":[128],"tuning":[129],"not":[131],"shielding":[132],"low-level":[135],"target-specific":[136],"optimizations.":[137],"assess":[139],"value":[141],"our":[143],"proposal,":[144],"consider":[146],"benchmarks":[147],"application":[150],"domains,":[151],"evaluate":[154],"PHAST":[156,176],"implementations":[157],"against":[158],"CUDA,":[159],"OpenCL,":[160],"Kokkos,":[161],"SYCL":[163],"ones":[164],"both":[166],"performance":[167],"points":[170],"view.":[172],"We":[173],"show":[174],"significantly":[178],"reduce":[179],"complexity":[181],"metrics":[182],"reaching":[184],"very":[185],"good":[186],"performance.":[187]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":6},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":3}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
