{"id":"https://openalex.org/W4282039505","doi":"https://doi.org/10.1145/3520306.3534501","title":"Distributed parallel computing with Futhark: a functional language to generate distributed parallel code","display_name":"Distributed parallel computing with Futhark: a functional language to generate distributed parallel code","publication_year":2022,"publication_date":"2022-06-10","ids":{"openalex":"https://openalex.org/W4282039505","doi":"https://doi.org/10.1145/3520306.3534501"},"language":"en","primary_location":{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/3520306.3534501","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false},"type":"article","type_crossref":"proceedings-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/A5020008732","display_name":"Micha\u00ebl El Kharroubi","orcid":null},"institutions":[{"id":"https://openalex.org/I173439891","display_name":"HES-SO University of Applied Sciences and Arts Western Switzerland","ror":"https://ror.org/01xkakk17","country_code":"CH","type":"education","lineage":["https://openalex.org/I173439891"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Micha\u00ebl El Kharroubi","raw_affiliation_strings":["University of Applied Sciences and Arts Western Switzerland, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Applied Sciences and Arts Western Switzerland, Switzerland","institution_ids":["https://openalex.org/I173439891"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5084609954","display_name":"Baptiste Coudray","orcid":null},"institutions":[{"id":"https://openalex.org/I173439891","display_name":"HES-SO University of Applied Sciences and Arts Western Switzerland","ror":"https://ror.org/01xkakk17","country_code":"CH","type":"education","lineage":["https://openalex.org/I173439891"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Baptiste Coudray","raw_affiliation_strings":["University of Applied Sciences and Arts Western Switzerland, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Applied Sciences and Arts Western Switzerland, Switzerland","institution_ids":["https://openalex.org/I173439891"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5014617340","display_name":"Orestis Malaspinas","orcid":"https://orcid.org/0000-0001-9427-6849"},"institutions":[{"id":"https://openalex.org/I173439891","display_name":"HES-SO University of Applied Sciences and Arts Western Switzerland","ror":"https://ror.org/01xkakk17","country_code":"CH","type":"education","lineage":["https://openalex.org/I173439891"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Orestis Malaspinas","raw_affiliation_strings":["University of Applied Sciences and Arts Western Switzerland, Switzerland"],"affiliations":[{"raw_affiliation_string":"University of Applied Sciences and Arts Western Switzerland, Switzerland","institution_ids":["https://openalex.org/I173439891"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.314,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.390464,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":60,"max":70},"biblio":{"volume":null,"issue":null,"first_page":"12","last_page":"24"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9999,"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.9999,"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.9996,"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.9972,"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/speedup","display_name":"Speedup","score":0.62948304},{"id":"https://openalex.org/keywords/stencil","display_name":"Stencil","score":0.59795433},{"id":"https://openalex.org/keywords/distributed-memory","display_name":"Distributed memory","score":0.5632426},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.47523856}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.90753806},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8465713},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.75276995},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.62948304},{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.59795433},{"id":"https://openalex.org/C91481028","wikidata":"https://www.wikidata.org/wiki/Q1054686","display_name":"Distributed memory","level":3,"score":0.5632426},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.47523856},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.45636246},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.44678983},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.42703897},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.37626183},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.13859686},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","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":1,"locations":[{"is_oa":false,"landing_page_url":"https://doi.org/10.1145/3520306.3534501","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false}],"best_oa_location":null,"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":17,"referenced_works":["https://openalex.org/W1594744861","https://openalex.org/W1979112459","https://openalex.org/W2055312318","https://openalex.org/W2080592089","https://openalex.org/W2104958979","https://openalex.org/W2105354870","https://openalex.org/W2273440736","https://openalex.org/W2436525433","https://openalex.org/W2472217442","https://openalex.org/W2511250243","https://openalex.org/W2622721951","https://openalex.org/W2644985445","https://openalex.org/W3019043644","https://openalex.org/W3047091820","https://openalex.org/W3152199537","https://openalex.org/W3158607448","https://openalex.org/W3175685504"],"related_works":["https://openalex.org/W4317827391","https://openalex.org/W4233212676","https://openalex.org/W40577698","https://openalex.org/W2398725611","https://openalex.org/W2182797201","https://openalex.org/W2140955407","https://openalex.org/W2122641512","https://openalex.org/W2078898826","https://openalex.org/W184932080","https://openalex.org/W1839004754"],"abstract_inverted_index":{"In":[0,82,146],"this":[1,68,147],"paper,":[2],"we":[3,93,150,172,197],"present":[4],"two":[5],"proofs-of-concept":[6],"for":[7,26,142,188],"distributed-memory":[8],"parallel":[9],"approaches":[10],"based":[11],"on":[12],"the":[13,36,46,79,86,118,126,129,135,143,159,164,176,181,185,189],"Futhark":[14,18,40,80,99,144],"functional":[15],"programming":[16],"language.":[17,145],"is":[19,41,56,71],"an":[20,75],"array-based":[21],"language":[22],"generating":[23],"high-performance":[24],"code":[25,37],"CPU":[27],"and":[28,101,106,114,196],"GPU":[29],"back-ends,":[30],"leveraging":[31],"shared-memory":[32],"parallelization":[33,194],"techniques.":[34],"While":[35],"generated":[38],"by":[39],"extremely":[42],"efficient,":[43],"it":[44,70],"lacks":[45],"capability":[47],"to":[48,73,78,84,200],"be":[49],"distributed":[50],"among":[51],"several":[52],"computing":[53],"nodes,":[54],"which":[55,183],"necessary":[57],"in":[58,117],"many":[59],"engineering":[60],"applications":[61],"(computational":[62],"fluid":[63],"mechanics,":[64],"meteorology,":[65],"etc.).":[66],"To":[67],"aim,":[69],"desirable":[72],"add":[74],"MPI":[76],"back-end":[77,141],"compiler.":[81],"order":[83],"test":[85],"feasibility":[87],"of":[88,120,128,132,137,161,166,175,180,192],"a":[89,95,103,138,153],"new":[90],"compiler":[91,140],"back-end,":[92],"implemented":[94,173],"C":[96],"library":[97,109],"wrapping":[98],"kernels":[100],"handling":[102],"multi-block":[104],"decomposition":[105],"communications.":[107],"This":[108],"showed":[110],"very":[111],"promising":[112],"performance":[113],"speedup":[115],"results":[116],"case":[119],"stencil-based":[121],"algorithms.":[122],"It":[123],"thus":[124],"allowed":[125],"initiation":[127],"second":[130],"part":[131],"our":[133,203],"project:":[134],"implementation":[136],"complete":[139],"first":[148],"attempt,":[149],"are":[151,184],"using":[152],"naive":[154,204],"memory":[155,205],"model":[156],"that":[157,171],"has":[158],"advantage":[160],"simplicity":[162],"at":[163],"cost":[165],"low":[167],"efficiency.":[168],"We":[169],"show":[170],"most":[174],"second-order":[177],"array":[178],"combinators":[179],"language,":[182],"abstractions":[186],"responsible":[187],"vast":[190],"majority":[191],"its":[193],"capabilities,":[195],"propose":[198],"ways":[199],"go":[201],"beyond":[202],"model.":[206]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4282039505","counts_by_year":[{"year":2024,"cited_by_count":1}],"updated_date":"2024-12-12T23:33:04.027152","created_date":"2022-06-13"}