{"id":"https://openalex.org/W1990030642","doi":"https://doi.org/10.1145/2627373.2627379","title":"GPGPU Composition with OCaml","display_name":"GPGPU Composition with OCaml","publication_year":2014,"publication_date":"2014-06-09","ids":{"openalex":"https://openalex.org/W1990030642","doi":"https://doi.org/10.1145/2627373.2627379","mag":"1990030642"},"language":"en","primary_location":{"id":"doi:10.1145/2627373.2627379","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2627373.2627379","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming","raw_type":"proceedings-article"},"type":"preprint","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/A5038107163","display_name":"Mathias Bourgoin","orcid":null},"institutions":[{"id":"https://openalex.org/I204730241","display_name":"Universit\u00e9 Paris Cit\u00e9","ror":"https://ror.org/05f82e368","country_code":"FR","type":"education","lineage":["https://openalex.org/I204730241"]},{"id":"https://openalex.org/I39804081","display_name":"Sorbonne Universit\u00e9","ror":"https://ror.org/02en5vm52","country_code":"FR","type":"education","lineage":["https://openalex.org/I39804081"]},{"id":"https://openalex.org/I4210159731","display_name":"LIP6","ror":"https://ror.org/05krcen59","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I39804081","https://openalex.org/I4210159245","https://openalex.org/I4210159731"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Mathias Bourgoin","raw_affiliation_strings":["Sorbonne Universit\u00e9s, UPMC Univ Paris 06, UMR 7606, LIP6, 4 Place Jussieu, F-75005 Paris, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sorbonne Universit\u00e9s, UPMC Univ Paris 06, UMR 7606, LIP6, 4 Place Jussieu, F-75005 Paris, France","institution_ids":["https://openalex.org/I204730241","https://openalex.org/I39804081","https://openalex.org/I4210159731"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5007537498","display_name":"Emmanuel Chailloux","orcid":"https://orcid.org/0000-0002-2400-9523"},"institutions":[{"id":"https://openalex.org/I204730241","display_name":"Universit\u00e9 Paris Cit\u00e9","ror":"https://ror.org/05f82e368","country_code":"FR","type":"education","lineage":["https://openalex.org/I204730241"]},{"id":"https://openalex.org/I39804081","display_name":"Sorbonne Universit\u00e9","ror":"https://ror.org/02en5vm52","country_code":"FR","type":"education","lineage":["https://openalex.org/I39804081"]},{"id":"https://openalex.org/I4210159731","display_name":"LIP6","ror":"https://ror.org/05krcen59","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I39804081","https://openalex.org/I4210159245","https://openalex.org/I4210159731"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Emmanuel Chailloux","raw_affiliation_strings":["Sorbonne Universit\u00e9s, UPMC Univ Paris 06, UMR 7606, LIP6, 4 Place Jussieu, F-75005 Paris, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sorbonne Universit\u00e9s, UPMC Univ Paris 06, UMR 7606, LIP6, 4 Place Jussieu, F-75005 Paris, France","institution_ids":["https://openalex.org/I204730241","https://openalex.org/I39804081","https://openalex.org/I4210159731"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9453,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.74648368,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"32","last_page":"37"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9983000159263611,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9962999820709229,"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.9032082557678223},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.7850686311721802},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.7490015029907227},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6821566224098206},{"id":"https://openalex.org/keywords/general-purpose-computing-on-graphics-processing-units","display_name":"General-purpose computing on graphics processing units","score":0.6700558662414551},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.4656544327735901},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.4422803223133087},{"id":"https://openalex.org/keywords/composition","display_name":"Composition (language)","score":0.4112066924571991},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.36995527148246765},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.28471195697784424},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.10147389769554138}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9032082557678223},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.7850686311721802},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.7490015029907227},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6821566224098206},{"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.6700558662414551},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.4656544327735901},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.4422803223133087},{"id":"https://openalex.org/C40231798","wikidata":"https://www.wikidata.org/wiki/Q1333743","display_name":"Composition (language)","level":2,"score":0.4112066924571991},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.36995527148246765},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.28471195697784424},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.10147389769554138},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"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/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2627373.2627379","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2627373.2627379","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W1128694369","https://openalex.org/W1881465144","https://openalex.org/W2006185325","https://openalex.org/W2032039029","https://openalex.org/W2041630899","https://openalex.org/W2060990118","https://openalex.org/W2061045626","https://openalex.org/W2071126597","https://openalex.org/W2087197945","https://openalex.org/W2104958979","https://openalex.org/W2121893797","https://openalex.org/W2136944230","https://openalex.org/W2138163628","https://openalex.org/W2150952308","https://openalex.org/W2156307398","https://openalex.org/W2171226522","https://openalex.org/W2207795035","https://openalex.org/W2402849745","https://openalex.org/W2564927691","https://openalex.org/W2734951168","https://openalex.org/W4239045242","https://openalex.org/W6713510697"],"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":{"GPGPU":[0],"programming":[1],"promises":[2],"high":[3],"performance.":[4,44],"However,":[5],"to":[6,50,102,109,121,127],"achieve":[7,76],"it,":[8,77],"developers":[9],"must":[10],"overcome":[11],"several":[12],"challenges.":[13],"The":[14],"main":[15],"ones":[16],"are:":[17],"write":[18,128],"and":[19,30,32,72,92,105,129,136,148],"use":[20,79],"hyper-parallel":[21],"kernels":[22,104],"on":[23,64,144],"GPU,":[24,31,66],"manage":[25],"memory":[26],"transfers":[27,137],"between":[28],"CPU":[29],"compose":[33,110],"kernels,":[34,123],"keeping":[35],"individual":[36],"performance":[37],"of":[38,119],"components":[39],"while":[40],"optimizing":[41],"the":[42,52,56,65,70,80,90,117],"global":[43],"In":[45],"this":[46],"article,":[47],"we":[48,78,142],"propose":[49],"study":[51],"composition":[53,63],"by":[54,69,115],"distinguishing":[55],"location":[57],"where":[58],"it":[59],"is":[60],"done:":[61],"kernel":[62,67,134],"generation":[68,135],"CPU,":[71],"overall":[73],"composition.":[74],"To":[75],"SPOC":[81,86],"library,":[82],"developed":[83],"in":[84],"OCaml.":[85],"offers":[87],"abstractions":[88],"over":[89],"Cuda":[91],"OpenCL":[93],"frameworks.":[94],"It":[95],"proposes":[96],"a":[97],"specific":[98],"language,":[99],"called":[100],"Sarek,":[101],"express":[103],"different":[106],"parallel":[107],"skeletons":[108],"them.":[111],"We":[112],"show":[113],"that":[114,130],"increasing":[116],"level":[118],"abstraction":[120],"handle":[122],"programs":[124],"are":[125],"easier":[126],"some":[131],"optimizations":[132],"(via":[133],"scheduling)":[138],"become":[139],"possible.":[140],"Thus,":[141],"win":[143],"both":[145],"sides:":[146],"expressiveness":[147],"efficiency.":[149]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
