{"id":"https://openalex.org/W2899197285","doi":"https://doi.org/10.1109/cluster.2018.00059","title":"CharmPy: A Python Parallel Programming Model","display_name":"CharmPy: A Python Parallel Programming Model","publication_year":2018,"publication_date":"2018-09-01","ids":{"openalex":"https://openalex.org/W2899197285","doi":"https://doi.org/10.1109/cluster.2018.00059","mag":"2899197285"},"language":"en","primary_location":{"id":"doi:10.1109/cluster.2018.00059","doi":"https://doi.org/10.1109/cluster.2018.00059","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cluster.2018.00059","pdf_url":null,"source":{"id":"https://openalex.org/S4210207155","display_name":"IEEE International Conference on Cluster Computing (CLUSTER)","issn_l":"1552-5244","issn":["1552-5244","2168-9253"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1"],"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE International Conference on Cluster Computing (CLUSTER)","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"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/A5109232066","display_name":"Juan J. G\u00e1lvez","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Juan J. Galvez","raw_affiliation_strings":["Department of Computer Science, University of Illinois at Urbana, Champaign, IL, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Illinois at Urbana, Champaign, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034519721","display_name":"Karthik Senthil","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Karthik Senthil","raw_affiliation_strings":["Department of Computer Science, University of Illinois at Urbana, Champaign, IL, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Illinois at Urbana, Champaign, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5051465480","display_name":"Laxmikant V. Kal\u00e9","orcid":"https://orcid.org/0000-0001-9673-8445","observed_orcids":["https://orcid.org/0000-0001-9673-8445"]},"institutions":[{"id":"https://openalex.org/I157725225","display_name":"University of Illinois Urbana-Champaign","ror":"https://ror.org/047426m28","country_code":"US","type":"education","lineage":["https://openalex.org/I157725225"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Laxmikant Kale","raw_affiliation_strings":["Department of Computer Science, University of Illinois at Urbana, Champaign, IL, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Illinois at Urbana, Champaign, IL, USA","institution_ids":["https://openalex.org/I157725225"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I157725225"],"apc_list":null,"apc_paid":null,"fwci":1.4696,"has_fulltext":false,"cited_by_count":19,"citation_normalized_percentile":{"value":0.81469745,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"423","last_page":"433"},"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.9556000232696533,"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.9556000232696533,"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.04019999876618385,"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/T13650","display_name":"Computational Physics and Python Applications","score":0.002099999925121665,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/charm","display_name":"charm","score":0.722000002861023},{"id":"https://openalex.org/keywords/parallel-programming-models","display_name":"parallel programming models","score":0.8539999723434448},{"id":"https://openalex.org/keywords/python","display_name":"Python","score":0.6299999952316284},{"id":"https://openalex.org/keywords/dynamic-load-balancing","display_name":"dynamic load balancing","score":0.7829999923706055},{"id":"https://openalex.org/keywords/asynchronous-execution","display_name":"asynchronous execution","score":0.722000002861023},{"id":"https://openalex.org/keywords/computation-communication-overlap","display_name":"communication-computation overlap","score":0.8379999995231628},{"id":"https://openalex.org/keywords/stencil-computations","display_name":"stencil computations","score":0.574999988079071},{"id":"https://openalex.org/keywords/molecular-dynamics","display_name":"molecular dynamics","score":0.921999990940094},{"id":"https://openalex.org/keywords/numba-jit-compilation","display_name":"Numba JIT compilation","score":0.8679999709129333},{"id":"https://openalex.org/keywords/interoperability","display_name":"interoperability","score":0.5059999823570251},{"id":"https://openalex.org/keywords/supercomputing-performance","display_name":"supercomputer performance","score":0.5640000104904175}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8952202796936035},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8863316774368286},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.6409161686897278},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6158137321472168},{"id":"https://openalex.org/C60832428","wikidata":"https://www.wikidata.org/wiki/Q945818","display_name":"Partitioned global address space","level":3,"score":0.5966023206710815},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5881669521331787},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.5813209414482117},{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.5647110939025879},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.5543714761734009},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.46600350737571716},{"id":"https://openalex.org/C2778241615","wikidata":"https://www.wikidata.org/wiki/Q83303","display_name":"Fortran","level":2,"score":0.4535253643989563},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.434001624584198},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.41004183888435364},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.3587961196899414},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.33348754048347473},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.280211865901947},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.24014148116111755},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cluster.2018.00059","doi":"https://doi.org/10.1109/cluster.2018.00059","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cluster.2018.00059","pdf_url":null,"source":{"id":"https://openalex.org/S4210207155","display_name":"IEEE International Conference on Cluster Computing (CLUSTER)","issn_l":"1552-5244","issn":["1552-5244","2168-9253"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core","jufo-1","norway-1"],"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE International Conference on Cluster Computing (CLUSTER)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":22,"referenced_works":["https://openalex.org/W182750848","https://openalex.org/W1596047731","https://openalex.org/W1984848758","https://openalex.org/W1986340747","https://openalex.org/W1995343013","https://openalex.org/W2021838450","https://openalex.org/W2036551003","https://openalex.org/W2045886945","https://openalex.org/W2079577430","https://openalex.org/W2090409324","https://openalex.org/W2104266030","https://openalex.org/W2109065830","https://openalex.org/W2141514639","https://openalex.org/W2146292423","https://openalex.org/W2150981663","https://openalex.org/W2245493112","https://openalex.org/W2478033637","https://openalex.org/W2601797347","https://openalex.org/W2780624097","https://openalex.org/W2912827267","https://openalex.org/W4248722156","https://openalex.org/W4251292774"],"related_works":["https://openalex.org/W7222787578","https://openalex.org/W4399145736","https://openalex.org/W4308090293","https://openalex.org/W4200005452","https://openalex.org/W7099169585","https://openalex.org/W7100499087","https://openalex.org/W2293461953","https://openalex.org/W2883543413","https://openalex.org/W2108125751","https://openalex.org/W7098032202"],"abstract_inverted_index":{"Parallel":[0],"programming":[1,40],"can":[2],"be":[3],"extremely":[4],"challenging.":[5],"Programming":[6],"models":[7],"have":[8],"been":[9],"proposed":[10],"to":[11,82,128,141,170,218,232,247],"simplify":[12],"this":[13,34],"task,":[14],"but":[15],"wide":[16],"acceptance":[17],"of":[18,59,71,96,104,118,163,237],"these":[19],"remains":[20],"elusive":[21],"for":[22,28,186,227,243],"many":[23],"reasons,":[24],"including":[25,108],"the":[26,48,69,80,94,102,105,161,164,179,234,238,248],"demand":[27],"greater":[29],"accessibility":[30],"and":[31,42,55,75,79,120,124,145,149,157,198,209,223],"productivity.":[32],"In":[33],"paper,":[35],"we":[36,166,214,240],"introduce":[37],"a":[38,72,89,172],"parallel":[39,174],"model":[41,74,91,114],"framework":[43],"called":[44],"CharmPy,":[45,183],"based":[46,92,177],"on":[47,53,57,93,178,206],"Python":[49],"language.":[50],"CharmPy":[51,87,133],"builds":[52],"Charm++,":[54],"runs":[56],"top":[58],"its":[60],"C++":[61,250],"runtime.":[62],"It":[63,100],"presents":[64],"several":[65],"unique":[66],"features":[67],"in":[68,85,204],"form":[70],"simplified":[73],"API,":[76],"increased":[77],"flexibility,":[78],"ability":[81],"write":[83],"everything":[84],"Python.":[86],"is":[88],"high-level":[90],"paradigm":[95],"distributed":[97,173],"migratable":[98],"objects.":[99],"retains":[101],"benefits":[103,135],"Charm++":[106],"runtime,":[107],"dynamic":[109],"load":[110],"balancing,":[111],"asynchronous":[112,187],"execution":[113],"with":[115,151,184],"automatic":[116],"overlap":[117],"communication":[119],"computation,":[121],"high":[122],"performance,":[123],"scalability":[125],"from":[126,136],"laptops":[127],"supercomputers.":[129,211],"By":[130],"being":[131],"Python-based,":[132],"also":[134,191],"modern":[137],"language":[138],"features,":[139],"access":[140],"popular":[142],"scientific":[143],"computing":[144],"data":[146],"science":[147],"software,":[148],"interoperability":[150],"existing":[152],"technologies":[153],"like":[154],"C,":[155],"Fortran":[156],"OpenMP.":[158],"To":[159],"illustrate":[160],"simplicity":[162],"model,":[165],"will":[167],"show":[168,215,241],"how":[169],"implement":[171],"map":[175],"function":[176],"Master-Worker":[180],"pattern":[181],"using":[182],"support":[185],"concurrent":[188],"jobs.":[189],"We":[190],"present":[192],"performance":[193,216,226,242],"results":[194],"running":[195],"stencil":[196],"code":[197],"molecular":[199],"dynamics":[200],"mini-apps":[201,245],"fully":[202],"written":[203],"Python,":[205],"Blue":[207],"Waters":[208],"Cori":[210],"For":[212],"stencil3d,":[213],"similar":[217,246],"an":[219],"equivalent":[220,249],"MPI-based":[221],"program,":[222],"significantly":[224],"improved":[225],"imbalanced":[228],"computations.":[229],"Using":[230],"Numba":[231],"JIT-compile":[233],"critical":[235],"parts":[236],"code,":[239],"both":[244],"code.":[251]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-11-10T11:39:43.021295","created_date":"2018-11-09T00:00:00"}
