{"id":"https://openalex.org/W4297101927","doi":"https://doi.org/10.1145/3561320.3561327","title":"High-Level Stream and Data Parallelism in C++ for GPUs","display_name":"High-Level Stream and Data Parallelism in C++ for GPUs","publication_year":2022,"publication_date":"2022-09-26","ids":{"openalex":"https://openalex.org/W4297101927","doi":"https://doi.org/10.1145/3561320.3561327"},"language":"en","primary_location":{"id":"doi:10.1145/3561320.3561327","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3561320.3561327","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVI Brazilian Symposium on Programming Languages","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://repositorio.pucrs.br/dspace/bitstream/10923/24071/2/HighLevel_Stream_and_Data_Parallelism_in_C_for_GPUs.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5063378406","display_name":"Dinei A. Rockenbach","orcid":"https://orcid.org/0000-0002-2091-9626"},"institutions":[{"id":"https://openalex.org/I45643870","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","ror":"https://ror.org/025vmq686","country_code":"BR","type":"education","lineage":["https://openalex.org/I45643870"]}],"countries":["BR"],"is_corresponding":true,"raw_author_name":"Dinei A. Rockenbach","raw_affiliation_strings":["School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil","institution_ids":["https://openalex.org/I45643870"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5050966222","display_name":"J\u00fanior L\u00f6ff","orcid":"https://orcid.org/0000-0003-4824-4621"},"institutions":[{"id":"https://openalex.org/I45643870","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","ror":"https://ror.org/025vmq686","country_code":"BR","type":"education","lineage":["https://openalex.org/I45643870"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"J\u00fanior L\u00f6ff","raw_affiliation_strings":["School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil","institution_ids":["https://openalex.org/I45643870"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5048684552","display_name":"Gabriell Araujo","orcid":"https://orcid.org/0000-0001-8179-2318"},"institutions":[{"id":"https://openalex.org/I45643870","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","ror":"https://ror.org/025vmq686","country_code":"BR","type":"education","lineage":["https://openalex.org/I45643870"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Gabriell Araujo","raw_affiliation_strings":["School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil","institution_ids":["https://openalex.org/I45643870"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5086071233","display_name":"Dalvan Griebler","orcid":"https://orcid.org/0000-0002-4690-3964"},"institutions":[{"id":"https://openalex.org/I45643870","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","ror":"https://ror.org/025vmq686","country_code":"BR","type":"education","lineage":["https://openalex.org/I45643870"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Dalvan Griebler","raw_affiliation_strings":["School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil","institution_ids":["https://openalex.org/I45643870"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076792297","display_name":"Luiz Gustavo Fernandes","orcid":"https://orcid.org/0000-0002-7506-3685"},"institutions":[{"id":"https://openalex.org/I45643870","display_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","ror":"https://ror.org/025vmq686","country_code":"BR","type":"education","lineage":["https://openalex.org/I45643870"]}],"countries":["BR"],"is_corresponding":false,"raw_author_name":"Luiz Gustavo Fernandes","raw_affiliation_strings":["School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Technology, Pontifical Catholic University of Rio Grande do Sul (PUCRS), Brazil","institution_ids":["https://openalex.org/I45643870"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5063378406"],"corresponding_institution_ids":["https://openalex.org/I45643870"],"apc_list":null,"apc_paid":null,"fwci":2.3319,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.88089686,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":96,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"41","last_page":"49"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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":0.9998999834060669,"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.9998999834060669,"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"}},{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.9993000030517578,"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.902363657951355},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7856330275535583},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.771613359451294},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.6654619574546814},{"id":"https://openalex.org/keywords/data-parallelism","display_name":"Data parallelism","score":0.6393939852714539},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.5535479187965393},{"id":"https://openalex.org/keywords/massively-parallel","display_name":"Massively parallel","score":0.49066364765167236},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.45116639137268066},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.4240402281284332},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.415355920791626},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.41040733456611633},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3697059154510498},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.17273855209350586},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.13037914037704468}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.902363657951355},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7856330275535583},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.771613359451294},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.6654619574546814},{"id":"https://openalex.org/C61483411","wikidata":"https://www.wikidata.org/wiki/Q3124522","display_name":"Data parallelism","level":3,"score":0.6393939852714539},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.5535479187965393},{"id":"https://openalex.org/C190475519","wikidata":"https://www.wikidata.org/wiki/Q544384","display_name":"Massively parallel","level":2,"score":0.49066364765167236},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.45116639137268066},{"id":"https://openalex.org/C50630238","wikidata":"https://www.wikidata.org/wiki/Q971505","display_name":"General-purpose computing on graphics processing units","level":3,"score":0.4240402281284332},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.415355920791626},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.41040733456611633},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3697059154510498},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.17273855209350586},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.13037914037704468},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3561320.3561327","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3561320.3561327","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the XXVI Brazilian Symposium on Programming Languages","raw_type":"proceedings-article"},{"id":"pmh:oai:meriva.pucrs.br:10923/24071","is_oa":true,"landing_page_url":"https://hdl.handle.net/10923/24071","pdf_url":"https://repositorio.pucrs.br/dspace/bitstream/10923/24071/2/HighLevel_Stream_and_Data_Parallelism_in_C_for_GPUs.pdf","source":{"id":"https://openalex.org/S4377196369","display_name":"PUCRS Repository (Pontifical Catholic University of Rio Grande do Sul)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45643870","host_organization_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","host_organization_lineage":["https://openalex.org/I45643870"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"conferenceObject"},{"id":"pmh:oai:meriva.pucrs.br:10923/25237","is_oa":true,"landing_page_url":"https://hdl.handle.net/10923/25237","pdf_url":"https://repositorio.pucrs.br/dspace/bitstream/10923/25237/2/HighLevel_Stream_and_Data_Parallelism_in_C_for_GPUs.pdf","source":{"id":"https://openalex.org/S4377196369","display_name":"PUCRS Repository (Pontifical Catholic University of Rio Grande do Sul)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45643870","host_organization_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","host_organization_lineage":["https://openalex.org/I45643870"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"conferenceObject"}],"best_oa_location":{"id":"pmh:oai:meriva.pucrs.br:10923/24071","is_oa":true,"landing_page_url":"https://hdl.handle.net/10923/24071","pdf_url":"https://repositorio.pucrs.br/dspace/bitstream/10923/24071/2/HighLevel_Stream_and_Data_Parallelism_in_C_for_GPUs.pdf","source":{"id":"https://openalex.org/S4377196369","display_name":"PUCRS Repository (Pontifical Catholic University of Rio Grande do Sul)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I45643870","host_organization_name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio Grande do Sul","host_organization_lineage":["https://openalex.org/I45643870"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-sa","license_id":"https://openalex.org/licenses/cc-by-nc-sa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"conferenceObject"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1091452642","display_name":null,"funder_award_id":"10/2020-ARD SPar 4.0 (n. 21/2551-0000725-7)","funder_id":"https://openalex.org/F4320322502","funder_display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado do Rio Grande do Sul"},{"id":"https://openalex.org/G206041794","display_name":null,"funder_award_id":"21/2551-0000725-7","funder_id":"https://openalex.org/F4320322502","funder_display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado do Rio Grande do Sul"},{"id":"https://openalex.org/G2554800379","display_name":null,"funder_award_id":"Code 001","funder_id":"https://openalex.org/F4320322502","funder_display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado do Rio Grande do Sul"},{"id":"https://openalex.org/G6751872960","display_name":null,"funder_award_id":"10/2020","funder_id":"https://openalex.org/F4320322502","funder_display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado do Rio Grande do Sul"}],"funders":[{"id":"https://openalex.org/F4320321091","display_name":"Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de Pessoal de N\u00edvel Superior","ror":"https://ror.org/00x0ma614"},{"id":"https://openalex.org/F4320322502","display_name":"Funda\u00e7\u00e3o de Amparo \u00e0 Pesquisa do Estado do Rio Grande do Sul","ror":"https://ror.org/05k49za97"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4297101927.pdf","grobid_xml":"https://content.openalex.org/works/W4297101927.grobid-xml"},"referenced_works_count":26,"referenced_works":["https://openalex.org/W1673512521","https://openalex.org/W1973698973","https://openalex.org/W1996940846","https://openalex.org/W2016888570","https://openalex.org/W2107096626","https://openalex.org/W2122080725","https://openalex.org/W2140375692","https://openalex.org/W2142899035","https://openalex.org/W2148222209","https://openalex.org/W2311855062","https://openalex.org/W2463131440","https://openalex.org/W2582080653","https://openalex.org/W2593611378","https://openalex.org/W2794650937","https://openalex.org/W2915400239","https://openalex.org/W2948121826","https://openalex.org/W2965891118","https://openalex.org/W3021878184","https://openalex.org/W3022780003","https://openalex.org/W3041213087","https://openalex.org/W3093543687","https://openalex.org/W3204305006","https://openalex.org/W3216598581","https://openalex.org/W4205947335","https://openalex.org/W4242860507","https://openalex.org/W4248999564"],"related_works":["https://openalex.org/W1963859303","https://openalex.org/W2364044215","https://openalex.org/W2389600408","https://openalex.org/W240129890","https://openalex.org/W3048701459","https://openalex.org/W2149078538","https://openalex.org/W2080146221","https://openalex.org/W2546223573","https://openalex.org/W2370314112","https://openalex.org/W1912958759"],"abstract_inverted_index":{"GPUs":[0,22],"are":[1,10,47],"massively":[2],"parallel":[3,30,41],"processors":[4,15],"that":[5,9,59],"allow":[6],"solving":[7],"problems":[8],"not":[11],"viable":[12],"to":[13,25,32,91,97,112],"traditional":[14],"like":[16],"CPUs.":[17],"However,":[18],"implementing":[19],"applications":[20],"for":[21,49,83],"is":[23,53],"challenging":[24],"programmers":[26],"as":[27],"it":[28],"requires":[29],"programming":[31,42],"efficiently":[33],"exploit":[34],"the":[35,67,104],"GPU":[36,84,127],"resources.":[37],"In":[38],"this":[39],"sense,":[40],"abstractions,":[43],"notably":[44],"domain-specific":[45],"languages,":[46],"fundamental":[48],"improving":[50],"programmability.":[51],"SPar":[52,92,98,117],"a":[54,79],"high-level":[55],"Domain-Specific":[56],"Language":[57],"(DSL)":[58],"allows":[60],"expressing":[61],"stream":[62],"and":[63,81,94,108,114,126,129],"data":[64],"parallelism":[65],"in":[66,106],"serial":[68],"code":[69,85,109],"through":[70],"annotations":[71],"using":[72,131],"C++":[73],"attributes.":[74],"This":[75],"work":[76],"elaborates":[77],"on":[78],"methodology":[80],"tool":[82],"generation":[86],"by":[87],"introducing":[88],"new":[89,101],"attributes":[90],"language":[93],"transformation":[95],"rules":[96],"compiler.":[99],"These":[100],"contributions,":[102],"besides":[103],"gains":[105],"simplicity":[107],"reduction":[110],"compared":[111],"CUDA":[113],"OpenCL,":[115],"enabled":[116],"achieve":[118],"of":[119],"higher":[120],"throughput":[121],"when":[122,130],"exploring":[123],"combined":[124],"CPU":[125],"parallelism,":[128],"batching.":[132]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":3}],"updated_date":"2026-05-14T08:36:36.166977","created_date":"2025-10-10T00:00:00"}
