{"id":"https://openalex.org/W2626245353","doi":"https://doi.org/10.1145/3062341.3062355","title":"Synthesis of divide and conquer parallelism for loops","display_name":"Synthesis of divide and conquer parallelism for loops","publication_year":2017,"publication_date":"2017-06-14","ids":{"openalex":"https://openalex.org/W2626245353","doi":"https://doi.org/10.1145/3062341.3062355","mag":"2626245353"},"language":"en","primary_location":{"id":"doi:10.1145/3062341.3062355","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3062341.3062355","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"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/A5016276143","display_name":"Azadeh Farzan","orcid":"https://orcid.org/0000-0001-9005-2653"},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Azadeh Farzan","raw_affiliation_strings":["University of Toronto, Canada"],"affiliations":[{"raw_affiliation_string":"University of Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5005233952","display_name":"Victor Nicolet","orcid":"https://orcid.org/0000-0002-3743-7498"},"institutions":[{"id":"https://openalex.org/I185261750","display_name":"University of Toronto","ror":"https://ror.org/03dbr7087","country_code":"CA","type":"education","lineage":["https://openalex.org/I185261750"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Victor Nicolet","raw_affiliation_strings":["University of Toronto, Canada"],"affiliations":[{"raw_affiliation_string":"University of Toronto, Canada","institution_ids":["https://openalex.org/I185261750"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5016276143"],"corresponding_institution_ids":["https://openalex.org/I185261750"],"apc_list":null,"apc_paid":null,"fwci":2.7742,"has_fulltext":false,"cited_by_count":25,"citation_normalized_percentile":{"value":0.91893137,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"540","last_page":"555"},"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.9988999962806702,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9972000122070312,"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/divide-and-conquer-algorithms","display_name":"Divide and conquer algorithms","score":0.8823716640472412},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8697606325149536},{"id":"https://openalex.org/keywords/joins","display_name":"Joins","score":0.731928825378418},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7104727625846863},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6082793474197388},{"id":"https://openalex.org/keywords/traverse","display_name":"Traverse","score":0.576449990272522},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5248882174491882},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.4670414328575134},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4431276023387909},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4204046130180359},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.34542760252952576},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.10775348544120789},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.09118595719337463}],"concepts":[{"id":"https://openalex.org/C71559656","wikidata":"https://www.wikidata.org/wiki/Q671298","display_name":"Divide and conquer algorithms","level":2,"score":0.8823716640472412},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8697606325149536},{"id":"https://openalex.org/C2778692605","wikidata":"https://www.wikidata.org/wiki/Q4041866","display_name":"Joins","level":2,"score":0.731928825378418},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7104727625846863},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6082793474197388},{"id":"https://openalex.org/C176809094","wikidata":"https://www.wikidata.org/wiki/Q15401496","display_name":"Traverse","level":2,"score":0.576449990272522},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5248882174491882},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.4670414328575134},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4431276023387909},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4204046130180359},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.34542760252952576},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.10775348544120789},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.09118595719337463},{"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/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3062341.3062355","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3062341.3062355","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1264096875","display_name":null,"funder_award_id":"462312-14","funder_id":"https://openalex.org/F4320334593","funder_display_name":"Natural Sciences and Engineering Research Council of Canada"},{"id":"https://openalex.org/G1328002221","display_name":null,"funder_award_id":"Early Researcher Award","funder_id":"https://openalex.org/F4320321886","funder_display_name":"Ontario Ministry of Research, Innovation and Science"}],"funders":[{"id":"https://openalex.org/F4320321886","display_name":"Ontario Ministry of Research, Innovation and Science","ror":"https://ror.org/03zr1tg88"},{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":56,"referenced_works":["https://openalex.org/W160921400","https://openalex.org/W1486289306","https://openalex.org/W1497081062","https://openalex.org/W1520171143","https://openalex.org/W1524190953","https://openalex.org/W1528303475","https://openalex.org/W1558180172","https://openalex.org/W1559921330","https://openalex.org/W1595783387","https://openalex.org/W1600092363","https://openalex.org/W1770707453","https://openalex.org/W1853328183","https://openalex.org/W1923914246","https://openalex.org/W1967810725","https://openalex.org/W1974514467","https://openalex.org/W1980999196","https://openalex.org/W1991069419","https://openalex.org/W2001474264","https://openalex.org/W2007166036","https://openalex.org/W2021235324","https://openalex.org/W2039520891","https://openalex.org/W2040345331","https://openalex.org/W2049890071","https://openalex.org/W2064379477","https://openalex.org/W2074136126","https://openalex.org/W2082709037","https://openalex.org/W2090504951","https://openalex.org/W2090975578","https://openalex.org/W2098688018","https://openalex.org/W2098903349","https://openalex.org/W2107089133","https://openalex.org/W2120068738","https://openalex.org/W2123536086","https://openalex.org/W2126693002","https://openalex.org/W2128937477","https://openalex.org/W2130427425","https://openalex.org/W2143462372","https://openalex.org/W2149127686","https://openalex.org/W2160559747","https://openalex.org/W2163671349","https://openalex.org/W2169049142","https://openalex.org/W2340787257","https://openalex.org/W2399923814","https://openalex.org/W2409856616","https://openalex.org/W2412440871","https://openalex.org/W2585900600","https://openalex.org/W2626106541","https://openalex.org/W2626931523","https://openalex.org/W2912946370","https://openalex.org/W2913231216","https://openalex.org/W3104857038","https://openalex.org/W3203568064","https://openalex.org/W4211167936","https://openalex.org/W4230856253","https://openalex.org/W4237112997","https://openalex.org/W4246873936"],"related_works":["https://openalex.org/W2088925915","https://openalex.org/W2382891957","https://openalex.org/W2393491644","https://openalex.org/W2379153735","https://openalex.org/W2067184662","https://openalex.org/W3047837489","https://openalex.org/W2046172023","https://openalex.org/W2972896947","https://openalex.org/W1487929601","https://openalex.org/W189707601"],"abstract_inverted_index":{"Divide-and-conquer":[0],"is":[1],"a":[2,28,34,43,52,100,103,148,153],"common":[3],"parallel":[4,31,196],"programming":[5],"skeleton":[6],"supported":[7],"by":[8,17],"many":[9],"cross-platform":[10],"multithreaded":[11],"libraries,":[12],"and":[13,71,78,92,123,151,181,190],"most":[14],"commonly":[15],"used":[16],"programmers":[18],"for":[19,67,87,126,135,163,175],"parallelization.":[20],"The":[21],"challenges":[22,109],"of":[23,102,144,184,193],"producing":[24],"(manually":[25],"or":[26],"automatically)":[27],"correct":[29,121],"divide-and-conquer":[30,88],"program":[32],"from":[33],"given":[35],"sequential":[36,57,81,129,169],"code":[37,53,66,82,130,170],"are":[38,171],"two-fold:":[39],"(1)":[40],"assuming":[41],"that":[42,146,157],"good":[44,104],"solution":[45],"exists":[46],"where":[47],"individual":[48],"worker":[49],"threads":[50],"execute":[51],"identical":[54],"to":[55,62,95,98,119,131,168],"the":[56,59,64,69,73,80,128,165,176,185,191,194],"one,":[58],"programmer":[60],"has":[61],"provide":[63],"extra":[65],"dividing":[68],"tasks":[70],"combining":[72],"partial":[74],"results":[75,162],"(i.e.":[76],"joins),":[77],"(2)":[79],"may":[83,93],"not":[84],"be":[85,96],"suitable":[86,134],"parallelization":[89,136],"as":[90],"is,":[91],"need":[94],"modified":[97],"become":[99],"part":[101],"solution.":[105],"We":[106,113,159],"address":[107],"both":[108],"in":[110,188],"this":[111],"paper.":[112],"present":[114,160],"an":[115,124],"automated":[116],"synthesis":[117],"technique":[118],"synthesize":[120],"joins":[122],"algorithm":[125],"modifying":[127],"make":[132],"it":[133],"when":[137,164],"necessary.":[138],"This":[139],"paper":[140],"focuses":[141],"on":[142],"class":[143],"loops":[145],"traverse":[147],"read-only":[149],"collection":[150],"compute":[152],"scalar":[154],"function":[155],"over":[156],"collection.":[158],"theoretical":[161,173],"necessary":[166],"modifications":[167],"possible,":[172],"guarantees":[174],"algorithmic":[177],"solutions":[178],"presented":[179],"here,":[180],"experimental":[182],"evaluation":[183],"approach's":[186],"success":[187],"practice":[189],"quality":[192],"produced":[195],"programs.":[197]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":4}],"updated_date":"2026-04-22T08:38:42.863108","created_date":"2025-10-10T00:00:00"}
