{"id":"https://openalex.org/W4224223904","doi":"https://doi.org/10.1007/s10766-022-00731-8","title":"The Celerity High-level API: C++20 for Accelerator Clusters","display_name":"The Celerity High-level API: C++20 for Accelerator Clusters","publication_year":2022,"publication_date":"2022-04-22","ids":{"openalex":"https://openalex.org/W4224223904","doi":"https://doi.org/10.1007/s10766-022-00731-8"},"language":"en","primary_location":{"id":"doi:10.1007/s10766-022-00731-8","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10766-022-00731-8","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10766-022-00731-8.pdf","source":{"id":"https://openalex.org/S148521650","display_name":"International Journal of Parallel Programming","issn_l":"0885-7458","issn":["0885-7458","1573-7640"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Journal of Parallel Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://link.springer.com/content/pdf/10.1007/s10766-022-00731-8.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5037323768","display_name":"Peter Thoman","orcid":"https://orcid.org/0000-0002-4028-7451"},"institutions":[{"id":"https://openalex.org/I190249584","display_name":"Universit\u00e4t Innsbruck","ror":"https://ror.org/054pv6659","country_code":"AT","type":"education","lineage":["https://openalex.org/I190249584"]}],"countries":["AT"],"is_corresponding":true,"raw_author_name":"Peter Thoman","raw_affiliation_strings":["Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria","institution_ids":["https://openalex.org/I190249584"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043309914","display_name":"Florian Tischler","orcid":null},"institutions":[{"id":"https://openalex.org/I190249584","display_name":"Universit\u00e4t Innsbruck","ror":"https://ror.org/054pv6659","country_code":"AT","type":"education","lineage":["https://openalex.org/I190249584"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Florian Tischler","raw_affiliation_strings":["Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria","institution_ids":["https://openalex.org/I190249584"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011445440","display_name":"Philip Salzmann","orcid":"https://orcid.org/0000-0002-8668-4639"},"institutions":[{"id":"https://openalex.org/I190249584","display_name":"Universit\u00e4t Innsbruck","ror":"https://ror.org/054pv6659","country_code":"AT","type":"education","lineage":["https://openalex.org/I190249584"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Philip Salzmann","raw_affiliation_strings":["Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria","institution_ids":["https://openalex.org/I190249584"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5000119692","display_name":"Thomas Fahringer","orcid":"https://orcid.org/0000-0003-4293-1228"},"institutions":[{"id":"https://openalex.org/I190249584","display_name":"Universit\u00e4t Innsbruck","ror":"https://ror.org/054pv6659","country_code":"AT","type":"education","lineage":["https://openalex.org/I190249584"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Thomas Fahringer","raw_affiliation_strings":["Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Distributed and Parallel Systems, University of Innsbruck, Technikersta\u00dfe 21a, 6020, Innsbruck, Tirol, Austria","institution_ids":["https://openalex.org/I190249584"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5037323768"],"corresponding_institution_ids":["https://openalex.org/I190249584"],"apc_list":{"value":2890,"currency":"USD","value_usd":2890},"apc_paid":{"value":2890,"currency":"USD","value_usd":2890},"fwci":1.4211,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.79262213,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"50","issue":"3-4","first_page":"341","last_page":"359"},"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9970999956130981,"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.9130175113677979},{"id":"https://openalex.org/keywords/toolchain","display_name":"Toolchain","score":0.8482898473739624},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.6166910529136658},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5869640707969666},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5481978058815002},{"id":"https://openalex.org/keywords/metaprogramming","display_name":"Metaprogramming","score":0.4449816346168518},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.4423516094684601},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4173009395599365},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.1925567090511322}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9130175113677979},{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.8482898473739624},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.6166910529136658},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5869640707969666},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5481978058815002},{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.4449816346168518},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.4423516094684601},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4173009395599365},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.1925567090511322}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1007/s10766-022-00731-8","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10766-022-00731-8","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10766-022-00731-8.pdf","source":{"id":"https://openalex.org/S148521650","display_name":"International Journal of Parallel Programming","issn_l":"0885-7458","issn":["0885-7458","1573-7640"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Journal of Parallel Programming","raw_type":"journal-article"},{"id":"pmh:oai:diglib.uibk.ac.at/:8951545","is_oa":true,"landing_page_url":"https://resolver.obvsg.at/urn:nbn:at:at-ubi:3-35330","pdf_url":null,"source":{"id":"https://openalex.org/S4306401999","display_name":"Digital Library of the University of Innsbruck (University of Innsbruck)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I143397708","host_organization_name":"Innsbruck Medical University","host_organization_lineage":["https://openalex.org/I143397708"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"}],"best_oa_location":{"id":"doi:10.1007/s10766-022-00731-8","is_oa":true,"landing_page_url":"https://doi.org/10.1007/s10766-022-00731-8","pdf_url":"https://link.springer.com/content/pdf/10.1007/s10766-022-00731-8.pdf","source":{"id":"https://openalex.org/S148521650","display_name":"International Journal of Parallel Programming","issn_l":"0885-7458","issn":["0885-7458","1573-7640"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319900","host_organization_name":"Springer Science+Business Media","host_organization_lineage":["https://openalex.org/P4310319900","https://openalex.org/P4310319965"],"host_organization_lineage_names":["Springer Science+Business Media","Springer Nature"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"International Journal of Parallel Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9","score":0.6200000047683716}],"awards":[],"funders":[{"id":"https://openalex.org/F4320326164","display_name":"Medizinische Universit\u00e4t Innsbruck","ror":"https://ror.org/03pt86f80"},{"id":"https://openalex.org/F4320327491","display_name":"Universit\u00e4t Innsbruck","ror":"https://ror.org/054pv6659"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4224223904.pdf","grobid_xml":"https://content.openalex.org/works/W4224223904.grobid-xml"},"referenced_works_count":27,"referenced_works":["https://openalex.org/W22188748","https://openalex.org/W1520071471","https://openalex.org/W1598340254","https://openalex.org/W1665019326","https://openalex.org/W1981450409","https://openalex.org/W1988888548","https://openalex.org/W1990090459","https://openalex.org/W1998284499","https://openalex.org/W2038850241","https://openalex.org/W2046430708","https://openalex.org/W2090409324","https://openalex.org/W2114192207","https://openalex.org/W2142677441","https://openalex.org/W2168732909","https://openalex.org/W2506485539","https://openalex.org/W2613829240","https://openalex.org/W2878447367","https://openalex.org/W2897298975","https://openalex.org/W2968104784","https://openalex.org/W3018185245","https://openalex.org/W3099775292","https://openalex.org/W3187688612","https://openalex.org/W4205190765","https://openalex.org/W4241553019","https://openalex.org/W6611008389","https://openalex.org/W6635771129","https://openalex.org/W6811310126"],"related_works":["https://openalex.org/W4390503633","https://openalex.org/W3153841236","https://openalex.org/W3195007140","https://openalex.org/W2096768870","https://openalex.org/W4377865294","https://openalex.org/W2496610134","https://openalex.org/W2039690203","https://openalex.org/W1536051636","https://openalex.org/W3207171446","https://openalex.org/W2128151625"],"abstract_inverted_index":{"Abstract":[0],"Providing":[1],"convenient":[2],"APIs":[3],"and":[4,30,36,77,79,107,137,156,222],"notations":[5],"for":[6,12,186],"data":[7],"parallelism":[8],"which":[9,69,140],"remain":[10],"accessible":[11],"programmers":[13],"while":[14],"still":[15],"providing":[16],"good":[17],"performance":[18,101,216],"has":[19],"been":[20],"a":[21,48,96,104,118,169,198,230],"long-term":[22],"goal":[23],"of":[24,43,55,84,93,124,144,204,218],"researchers":[25],"as":[26,28,38,40,149,152],"well":[27,39],"language":[29],"library":[31,57,120],"designers.":[32],"C++20":[33,177],"introduces":[34],"ranges":[35],"views,":[37],"the":[41,52,65,125,142,214,226],"composition":[42],"operations":[44],"on":[45,100,122],"them":[46],"using":[47,157],"concise":[49,72],"syntax,":[50],"but":[51],"efficient":[53,188],"implementation":[54,138],"these":[56],"features":[58],"is":[59,129],"restricted":[60],"to":[61,75,103,160,181,200],"CPUs.":[62],"We":[63,191],"present":[64],"Celerity":[66,126],"High-level":[67],"API,":[68],"makes":[70],"similarly":[71],"mechanisms":[73],"applicable":[74],"GPUs":[76],"accelerators,":[78],"even":[80],"distributed":[81],"memory":[82],"clusters":[83],"GPUs.":[85],"Crucially,":[86],"we":[87,212],"achieve":[88],"this":[89],"very":[90],"high":[91],"level":[92],"abstraction":[94],"without":[95,108],"significant":[97],"negative":[98],"impact":[99,217],"compared":[102],"lower-level":[105,201],"implementation,":[106],"introducing":[109],"any":[110],"non-standard":[111],"toolchain":[112],"components":[113],"or":[114],"compilers,":[115],"by":[116,132,229],"implementing":[117],"C++":[119],"infrastructure":[121],"top":[123],"system.":[127],"This":[128],"made":[130],"possible":[131,153],"two":[133],"central":[134],"API":[135],"design":[136,223],"strategies,":[139],"form":[141],"core":[143],"our":[145,194,219],"contribution.":[146],"Firstly,":[147],"gathering":[148],"much":[150],"information":[151],"at":[154],"compile-time":[155],"metaprogramming":[158],"techniques":[159],"automatically":[161],"fuse":[162],"several":[163,205],"distinctly":[164],"formulated":[165],"processing":[166],"steps":[167],"into":[168],"single":[170],"accelerator":[171],"kernel":[172],"invocation.":[173],"And":[174],"secondly,":[175],"leveraging":[176],"\u201cConcepts\u201d":[178],"in":[179,197],"order":[180],"avoid":[182],"type":[183],"erasure,":[184],"allowing":[185],"highly":[187],"code":[189],"generation.":[190],"have":[192],"evaluated":[193],"approach":[195],"quantitatively":[196],"comparison":[199],"manual":[202],"implementations":[203],"benchmarks,":[206],"demonstrating":[207],"its":[208],"low":[209],"overhead.":[210],"Additionally,":[211],"investigated":[213],"individual":[215],"specific":[220],"optimizations":[221],"choices,":[224],"illustrating":[225],"advantages":[227],"afforded":[228],"Concepts-based":[231],"approach.":[232]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3}],"updated_date":"2026-07-31T08:31:51.225901","created_date":"2025-10-10T00:00:00"}
