{"id":"https://openalex.org/W1979811002","doi":"https://doi.org/10.1145/2103736.2103740","title":"Expressive array constructs in an embedded GPU kernel programming language","display_name":"Expressive array constructs in an embedded GPU kernel programming language","publication_year":2012,"publication_date":"2012-01-28","ids":{"openalex":"https://openalex.org/W1979811002","doi":"https://doi.org/10.1145/2103736.2103740","mag":"1979811002"},"language":"en","primary_location":{"id":"doi:10.1145/2103736.2103740","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103736.2103740","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming","raw_type":"proceedings-article"},"type":"conference-paper","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/A5058771102","display_name":"Koen Claessen","orcid":"https://orcid.org/0000-0002-8113-4478"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Koen Claessen","raw_affiliation_strings":["Chalmers University of Technology, Gothenburg, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Chalmers University of Technology, Gothenburg, Sweden","institution_ids":["https://openalex.org/I66862912"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5037308838","display_name":"Mary Sheeran","orcid":"https://orcid.org/0000-0003-2509-0957"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Mary Sheeran","raw_affiliation_strings":["Chalmers University of Technology, Gothenburg, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Chalmers University of Technology, Gothenburg, Sweden","institution_ids":["https://openalex.org/I66862912"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5000031987","display_name":"Bo Joel Svensson","orcid":"https://orcid.org/0000-0003-0363-1206"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Bo Joel Svensson","raw_affiliation_strings":["Chalmers University of Technology, Gothenburg, Sweden"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Chalmers University of Technology, Gothenburg, Sweden","institution_ids":["https://openalex.org/I66862912"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I66862912"],"apc_list":null,"apc_paid":null,"fwci":6.998,"has_fulltext":false,"cited_by_count":72,"citation_normalized_percentile":{"value":0.98119363,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"21","last_page":"30"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9988999962806702,"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/T11269","display_name":"Algorithms and Data Compression","score":0.995199978351593,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.8563494682312012},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.8484890460968018},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.7337828278541565},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7131896018981934},{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.5986288785934448},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.5625344514846802},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.5453462600708008},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4817374050617218},{"id":"https://openalex.org/keywords/combinatory-logic","display_name":"Combinatory logic","score":0.47943395376205444},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.47293758392333984},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.42321357131004333},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4201246500015259},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.41255488991737366},{"id":"https://openalex.org/keywords/sequence","display_name":"Sequence (biology)","score":0.4101223647594452},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.330223947763443},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.32212749123573303},{"id":"https://openalex.org/keywords/computer-graphics","display_name":"Computer graphics (images)","score":0.22049733996391296}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8563494682312012},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.8484890460968018},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.7337828278541565},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7131896018981934},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.5986288785934448},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.5625344514846802},{"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.5453462600708008},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4817374050617218},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.47943395376205444},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.47293758392333984},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.42321357131004333},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4201246500015259},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.41255488991737366},{"id":"https://openalex.org/C2778112365","wikidata":"https://www.wikidata.org/wiki/Q3511065","display_name":"Sequence (biology)","level":2,"score":0.4101223647594452},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.330223947763443},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.32212749123573303},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.22049733996391296},{"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/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C54355233","wikidata":"https://www.wikidata.org/wiki/Q7162","display_name":"Genetics","level":1,"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":2,"locations":[{"id":"doi:10.1145/2103736.2103740","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2103736.2103740","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming","raw_type":"proceedings-article"},{"id":"pmh:oai:research.chalmers.se:156270","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/156270","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320322581","display_name":"Vetenskapsr\u00e5det","ror":"https://ror.org/03zttf063"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":16,"referenced_works":["https://openalex.org/W1523264534","https://openalex.org/W1548981521","https://openalex.org/W1598796492","https://openalex.org/W1996060755","https://openalex.org/W2014257084","https://openalex.org/W2048269379","https://openalex.org/W2055947235","https://openalex.org/W2096006817","https://openalex.org/W2104958979","https://openalex.org/W2136673842","https://openalex.org/W2141389982","https://openalex.org/W2148599839","https://openalex.org/W2165633563","https://openalex.org/W3103200974","https://openalex.org/W4300691302","https://openalex.org/W6632753613"],"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/W2370314112","https://openalex.org/W1912958759","https://openalex.org/W2792081825"],"abstract_inverted_index":{"Graphics":[0],"Processing":[1],"Units":[2],"(GPUs)":[3],"are":[4,14,46],"powerful":[5],"computing":[6],"devices":[7],"that":[8,28,43,96,104],"with":[9,122],"the":[10,50,73,92,130,136,147,154,158],"advent":[11],"of":[12,69,94,119,132,138,157],"CUDA/OpenCL":[13],"becomming":[15],"useful":[16],"for":[17,134],"general":[18],"purpose":[19],"computations.":[20],"Obsidian":[21,75,113],"is":[22,114,144],"an":[23],"embedded":[24],"domain":[25],"specific":[26],"language":[27],"generates":[29],"CUDA":[30],"kernels":[31,160],"from":[32],"functional":[33],"descriptions.":[34],"A":[35],"symbolic":[36],"array":[37,52,85],"construction":[38,53],"allows":[39],"us":[40],"to":[41,72,79,112],"guarantee":[42],"intermediate":[44],"arrays":[45,59,71],"fused":[47],"away.":[48],"However,":[49,153],"current":[51],"has":[54],"some":[55],"drawbacks;":[56],"in":[57,77,106],"particular,":[58],"cannot":[60],"be":[61,151],"combined":[62],"efficiently.":[63],"We":[64],"add":[65],"a":[66,117],"new":[67],"type":[68],"push":[70],"existing":[74],"system":[76],"order":[78],"solve":[80],"this":[81],"problem.":[82],"The":[83,125,141],"two":[84],"types":[86],"complement":[87],"each":[88],"other,":[89],"and":[90,100,103,146],"enable":[91],"definition":[93],"combinators":[95,133,148],"both":[97],"take":[98],"apart":[99],"combine":[101],"arrays,":[102],"result":[105],"efficient":[107],"generated":[108,159],"code.":[109],"This":[110],"extension":[111],"demonstrated":[115],"on":[116],"sequence":[118],"sorting":[120],"kernels,":[121],"good":[123],"results.":[124],"case":[126],"study":[127],"also":[128],"illustrates":[129],"use":[131],"expressing":[135],"structure":[137],"parallel":[139],"algorithms.":[140],"work":[142],"presented":[143,149],"preliminary,":[145],"must":[150],"generalised.":[152],"raw":[155],"speed":[156],"bodes":[161],"well.":[162]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":3},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":10},{"year":2016,"cited_by_count":8},{"year":2015,"cited_by_count":12},{"year":2014,"cited_by_count":8},{"year":2013,"cited_by_count":14},{"year":2012,"cited_by_count":3}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
