{"id":"https://openalex.org/W2129903625","doi":"https://doi.org/10.1145/1152154.1152189","title":"Program generation for the all-pairs shortest path problem","display_name":"Program generation for the all-pairs shortest path problem","publication_year":2006,"publication_date":"2006-09-16","ids":{"openalex":"https://openalex.org/W2129903625","doi":"https://doi.org/10.1145/1152154.1152189","mag":"2129903625"},"language":"en","primary_location":{"id":"doi:10.1145/1152154.1152189","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1152154.1152189","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th international conference on Parallel architectures and compilation techniques","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/A5074310962","display_name":"Sung-Chul Han","orcid":null},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Sung-Chul Han","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA","Electrical and Computer Engineering, Carnegie Mellon University Pittsburgh, PA 15213"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Electrical and Computer Engineering, Carnegie Mellon University Pittsburgh, PA 15213","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062806943","display_name":"Franz Franchetti","orcid":"https://orcid.org/0000-0002-3529-8973"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Franz Franchetti","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA","Electrical and Computer Engineering, Carnegie Mellon University Pittsburgh, PA 15213"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Electrical and Computer Engineering, Carnegie Mellon University Pittsburgh, PA 15213","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076407181","display_name":"Markus P\u00fcschel","orcid":"https://orcid.org/0000-0001-8834-8551"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Markus P\u00fcschel","raw_affiliation_strings":["Carnegie Mellon University, Pittsburgh, PA","Electrical and Computer Engineering, Carnegie Mellon University Pittsburgh, PA 15213"],"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Electrical and Computer Engineering, Carnegie Mellon University Pittsburgh, PA 15213","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5074310962"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":2.2705,"has_fulltext":false,"cited_by_count":49,"citation_normalized_percentile":{"value":0.87928404,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"222","last_page":"232"},"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/T11697","display_name":"Numerical Methods and Algorithms","score":0.9969000220298767,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9941999912261963,"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.8280468583106995},{"id":"https://openalex.org/keywords/pentium","display_name":"Pentium","score":0.7993249893188477},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.675594687461853},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.580291211605072},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5473891496658325},{"id":"https://openalex.org/keywords/intel-ipsc","display_name":"Intel iPSC","score":0.5204708576202393},{"id":"https://openalex.org/keywords/matrix-multiplication","display_name":"Matrix multiplication","score":0.49672895669937134},{"id":"https://openalex.org/keywords/shortest-path-problem","display_name":"Shortest path problem","score":0.489463210105896},{"id":"https://openalex.org/keywords/vectorization","display_name":"Vectorization (mathematics)","score":0.4764940142631531},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.4337106943130493},{"id":"https://openalex.org/keywords/generator","display_name":"Generator (circuit theory)","score":0.4220525920391083},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.4193548560142517},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3716278076171875},{"id":"https://openalex.org/keywords/hypercube","display_name":"Hypercube","score":0.33545905351638794},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.31231409311294556},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.23477670550346375},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1275547444820404}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8280468583106995},{"id":"https://openalex.org/C46268123","wikidata":"https://www.wikidata.org/wiki/Q214314","display_name":"Pentium","level":2,"score":0.7993249893188477},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.675594687461853},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.580291211605072},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5473891496658325},{"id":"https://openalex.org/C199115840","wikidata":"https://www.wikidata.org/wiki/Q108649754","display_name":"Intel iPSC","level":3,"score":0.5204708576202393},{"id":"https://openalex.org/C17349429","wikidata":"https://www.wikidata.org/wiki/Q1049914","display_name":"Matrix multiplication","level":3,"score":0.49672895669937134},{"id":"https://openalex.org/C22590252","wikidata":"https://www.wikidata.org/wiki/Q1058754","display_name":"Shortest path problem","level":3,"score":0.489463210105896},{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.4764940142631531},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.4337106943130493},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.4220525920391083},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.4193548560142517},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3716278076171875},{"id":"https://openalex.org/C50820777","wikidata":"https://www.wikidata.org/wiki/Q213723","display_name":"Hypercube","level":2,"score":0.33545905351638794},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.31231409311294556},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.23477670550346375},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1275547444820404},{"id":"https://openalex.org/C84114770","wikidata":"https://www.wikidata.org/wiki/Q46344","display_name":"Quantum","level":2,"score":0.0},{"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/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.0},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.0},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1152154.1152189","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1152154.1152189","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 15th international conference on Parallel architectures and compilation techniques","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.121.2330","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.121.2330","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.virginia.edu/~pact2006/program/pact2006/pact139_han4.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.127.4802","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.127.4802","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://spiral.ece.cmu.edu:8080/pub-spiral/pubfile/apsp.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1964031104","https://openalex.org/W1968023964","https://openalex.org/W1973305402","https://openalex.org/W1982440947","https://openalex.org/W1987669032","https://openalex.org/W2014265988","https://openalex.org/W2014889099","https://openalex.org/W2034896421","https://openalex.org/W2035449679","https://openalex.org/W2047656763","https://openalex.org/W2099059741","https://openalex.org/W2102182691","https://openalex.org/W2128344236","https://openalex.org/W2130289795","https://openalex.org/W2136952590","https://openalex.org/W2148542244","https://openalex.org/W2164197394","https://openalex.org/W2248064281","https://openalex.org/W2327724807","https://openalex.org/W2613173048","https://openalex.org/W3147159035","https://openalex.org/W6691190440","https://openalex.org/W6737445176","https://openalex.org/W7007909831"],"related_works":["https://openalex.org/W1802594910","https://openalex.org/W2566637483","https://openalex.org/W3008658471","https://openalex.org/W2127324789","https://openalex.org/W3024308452","https://openalex.org/W4244894488","https://openalex.org/W4285390450","https://openalex.org/W2366442643","https://openalex.org/W2090268225","https://openalex.org/W2618542445"],"abstract_inverted_index":{"A":[0],"recent":[1],"trend":[2],"in":[3,34,77],"computing":[4,24],"are":[5],"domain-specific":[6],"program":[7,59,115,144],"generators,":[8],"designed":[9],"to":[10,98,131,157,183,205],"alleviate":[11],"the":[12,31,62,69,84,91,102,113,133,143,176,216],"effort":[13],"of":[14,37,81,90,101,155,160,171,181,203],"porting":[15],"and":[16,21,30,122,165,188,210],"reoptimizing":[17],"libraries":[18],"for":[19,61,106,139],"fast-changing":[20],"increasingly":[22],"complex":[23],"platforms.":[25],"Examples":[26],"include":[27],"ATLAS,":[28],"SPIRAL,":[29],"codelet":[32],"generator":[33,60],"FFTW.":[35],"Each":[36],"these":[38],"generators":[39],"produces":[40],"highly":[41],"optimized":[42],"source":[43],"code":[44,135],"directly":[45],"from":[46],"a":[47,58,78,127,140,148,151,158,201],"problem":[48],"specification.":[49],"In":[50],"this":[51,55],"paper,":[52],"we":[53,87,146],"extend":[54],"list":[56],"by":[57,178],"well-known":[63],"Floyd-Warshall":[64],"(FW)":[65],"algorithm":[66,93],"that":[67,94],"solves":[68],"all-pairs":[70],"shortest":[71],"path":[72],"problem,":[73],"which":[74,117],"is":[75,112],"important":[76],"wide":[79],"range":[80],"engineering":[82],"applications.As":[83],"first":[85],"contribution,":[86],"derive":[88],"variants":[89],"FW":[92],"make":[95],"it":[96],"possible":[97],"apply":[99],"many":[100],"optimization":[103],"techniques":[104],"developed":[105],"matrix-matrix":[107],"multiplication.":[108],"The":[109],"second":[110],"contribution":[111],"actual":[114],"generator,":[116,145],"uses":[118],"tiling,":[119],"loop":[120],"unrolling,":[121],"SIMD":[123],"vectorization":[124,173,199],"combined":[125],"with":[126],"hill":[128],"climbing":[129],"search":[130],"produce":[132],"best":[134,217],"(float":[136],"or":[137],"integer)":[138],"given":[141],"platform.Using":[142],"demonstrate":[147],"speedup":[149],"over":[150,215],"straightforward":[152],"single-precision":[153],"implementation":[154],"up":[156,182,204],"factor":[159,180],"1.3":[161],"on":[162,167,185,190,207,212],"Pentium":[163,186,208],"4":[164,187,209],"1.8":[166],"Athlon":[168,191,213],"64.":[169,192],"Use":[170],"4-way":[172],"further":[174],"improves":[175],"performance":[177],"another":[179],"5.7":[184],"3.0":[189],"For":[193],"data":[194],"type":[195],"short":[196],"integers,":[197],"8-way":[198],"provides":[200],"speed-up":[202],"4.6":[206],"5.0":[211],"64":[214],"scalar":[218],"code.":[219]},"counts_by_year":[{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":3},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":5}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
