{"id":"https://openalex.org/W2056337783","doi":"https://doi.org/10.1145/2628071.2628131","title":"Automatic parallelism through macro dataflow in high-level array languages","display_name":"Automatic parallelism through macro dataflow in high-level array languages","publication_year":2014,"publication_date":"2014-08-21","ids":{"openalex":"https://openalex.org/W2056337783","doi":"https://doi.org/10.1145/2628071.2628131","mag":"2056337783"},"language":"en","primary_location":{"id":"doi:10.1145/2628071.2628131","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2628071.2628131","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 23rd international conference on Parallel architectures and compilation","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/A5033393074","display_name":"Pushkar Ratnalikar","orcid":"https://orcid.org/0000-0002-5900-6744"},"institutions":[{"id":"https://openalex.org/I4210119109","display_name":"Indiana University Bloomington","ror":"https://ror.org/02k40bc56","country_code":"US","type":"education","lineage":["https://openalex.org/I4210119109","https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Pushkar Ratnalikar","raw_affiliation_strings":["Indiana University, Bloomington, IN, USA","School of Informatics and Computing, Indiana University, Bloomington, IN,"],"affiliations":[{"raw_affiliation_string":"Indiana University, Bloomington, IN, USA","institution_ids":["https://openalex.org/I4210119109"]},{"raw_affiliation_string":"School of Informatics and Computing, Indiana University, Bloomington, IN,","institution_ids":["https://openalex.org/I4210119109"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5102865110","display_name":"Arun Chauhan","orcid":"https://orcid.org/0000-0002-0327-7254"},"institutions":[{"id":"https://openalex.org/I4210119109","display_name":"Indiana University Bloomington","ror":"https://ror.org/02k40bc56","country_code":"US","type":"education","lineage":["https://openalex.org/I4210119109","https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Arun Chauhan","raw_affiliation_strings":["Indiana University, Bloomington, IN, USA","School of Informatics and Computing, Indiana University, Bloomington, IN,"],"affiliations":[{"raw_affiliation_string":"Indiana University, Bloomington, IN, USA","institution_ids":["https://openalex.org/I4210119109"]},{"raw_affiliation_string":"School of Informatics and Computing, Indiana University, Bloomington, IN,","institution_ids":["https://openalex.org/I4210119109"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5033393074"],"corresponding_institution_ids":["https://openalex.org/I4210119109"],"apc_list":null,"apc_paid":null,"fwci":0.613,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.69345396,"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":"489","last_page":"490"},"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.9998000264167786,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9991000294685364,"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/dataflow","display_name":"Dataflow","score":0.9409621953964233},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8915822505950928},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7487138509750366},{"id":"https://openalex.org/keywords/dataflow-architecture","display_name":"Dataflow architecture","score":0.6482232213020325},{"id":"https://openalex.org/keywords/data-parallelism","display_name":"Data parallelism","score":0.6419422626495361},{"id":"https://openalex.org/keywords/multi-core-processor","display_name":"Multi-core processor","score":0.5899205207824707},{"id":"https://openalex.org/keywords/instruction-level-parallelism","display_name":"Instruction-level parallelism","score":0.5662612318992615},{"id":"https://openalex.org/keywords/leverage","display_name":"Leverage (statistics)","score":0.5600907802581787},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.49744871258735657},{"id":"https://openalex.org/keywords/data-flow-diagram","display_name":"Data flow diagram","score":0.49072110652923584},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4784829020500183},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.4290539026260376},{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.4106466472148895},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.3415676951408386},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10397976636886597}],"concepts":[{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.9409621953964233},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8915822505950928},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7487138509750366},{"id":"https://openalex.org/C176727019","wikidata":"https://www.wikidata.org/wiki/Q1172415","display_name":"Dataflow architecture","level":3,"score":0.6482232213020325},{"id":"https://openalex.org/C61483411","wikidata":"https://www.wikidata.org/wiki/Q3124522","display_name":"Data parallelism","level":3,"score":0.6419422626495361},{"id":"https://openalex.org/C78766204","wikidata":"https://www.wikidata.org/wiki/Q555032","display_name":"Multi-core processor","level":2,"score":0.5899205207824707},{"id":"https://openalex.org/C140763907","wikidata":"https://www.wikidata.org/wiki/Q2714055","display_name":"Instruction-level parallelism","level":3,"score":0.5662612318992615},{"id":"https://openalex.org/C153083717","wikidata":"https://www.wikidata.org/wiki/Q6535263","display_name":"Leverage (statistics)","level":2,"score":0.5600907802581787},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.49744871258735657},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.49072110652923584},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4784829020500183},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.4290539026260376},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.4106466472148895},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.3415676951408386},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10397976636886597},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2628071.2628131","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2628071.2628131","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 23rd international conference on Parallel architectures and compilation","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":5,"referenced_works":["https://openalex.org/W1990087033","https://openalex.org/W1996138408","https://openalex.org/W2054664018","https://openalex.org/W2089294198","https://openalex.org/W4240331105"],"related_works":["https://openalex.org/W2783505431","https://openalex.org/W4318948654","https://openalex.org/W2765088138","https://openalex.org/W4320930501","https://openalex.org/W2040778456","https://openalex.org/W2890278066","https://openalex.org/W2030063121","https://openalex.org/W1998949396","https://openalex.org/W3181015145","https://openalex.org/W2171993104"],"abstract_inverted_index":{"Dataflow":[0],"computation":[1],"is":[2,10],"a":[3,67,87,126,163,182],"powerful":[4],"paradigm":[5],"for":[6,19,53],"parallel":[7],"computing":[8],"that":[9,43,100],"especially":[11],"attractive":[12],"on":[13,78,114,130,162,181],"modern":[14],"machines":[15,116],"with":[16,86,122,184],"multiple":[17,158],"avenues":[18],"parallelism.":[20],"However,":[21],"adopting":[22],"this":[23],"model":[24,73],"has":[25],"been":[26,35],"challenging":[27],"as":[28,48],"neither":[29],"hardware-":[30],"nor":[31],"language-based":[32],"approaches":[33],"have":[34],"successful,":[36],"except,":[37],"in":[38,117],"specialized":[39],"contexts.":[40],"We":[41,82],"argue":[42],"general-purpose":[44],"array":[45,62],"languages,":[46],"such":[47],"MATLAB,":[49],"are":[50,101,147],"good":[51],"candidates":[52],"automatic":[54,89],"translation":[55],"to":[56,66,92,96,149,171],"macro":[57,68],"dataflow-style":[58],"execution,":[59],"where":[60],"each":[61,140],"operation":[63,70],"naturally":[64],"maps":[65],"dataflow":[69,98],"and":[71,154],"the":[72,123,177],"can":[74,111],"be":[75,112,143],"efficiently":[76],"executed":[77,113],"contemporary":[79],"multicore":[80,115],"architecture.":[81],"support":[83],"our":[84,174],"argument":[85],"fully":[88],"compilation":[90],"technique":[91],"translate":[93],"MATLAB":[94],"programs":[95],"dynamic":[97],"graphs":[99,110],"capable":[102],"of":[103,125,132,165,169],"handling":[104],"unbounded":[105],"structured":[106],"control":[107],"flow.":[108],"These":[109],"an":[118],"event":[119],"driven":[120],"fashion":[121],"help":[124],"runtime":[127],"system":[128],"built":[129],"top":[131],"Intel's":[133],"Threading":[134],"Building":[135],"Blocks":[136],"(TBB).":[137],"By":[138],"letting":[139],"task":[141],"itself":[142],"data":[144],"parallel,":[145],"we":[146],"able":[148],"leverage":[150],"existing":[151],"data-parallel":[152,179],"libraries":[153],"utilize":[155],"parallelism":[156],"at":[157],"levels.":[159],"Our":[160],"experiments":[161],"set":[164],"benchmarks":[166],"show":[167],"speedups":[168],"up":[170],"18x":[172],"using":[173],"approach,":[175],"over":[176],"original":[178],"code":[180],"machine":[183],"two":[185],"16-core":[186],"processors.":[187]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
