{"id":"https://openalex.org/W4376482975","doi":"https://doi.org/10.1109/mcse.2023.3258288","title":"PyExaFMM: An Exercise in Designing High-Performance Software With Python and Numba","display_name":"PyExaFMM: An Exercise in Designing High-Performance Software With Python and Numba","publication_year":2022,"publication_date":"2022-09-01","ids":{"openalex":"https://openalex.org/W4376482975","doi":"https://doi.org/10.1109/mcse.2023.3258288"},"language":"en","primary_location":{"id":"doi:10.1109/mcse.2023.3258288","is_oa":false,"landing_page_url":"https://doi.org/10.1109/mcse.2023.3258288","pdf_url":null,"source":{"id":"https://openalex.org/S107923245","display_name":"Computing in Science & Engineering","issn_l":"1521-9615","issn":["1521-9615","1558-366X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320061","host_organization_name":"AIP Publishing","host_organization_lineage":["https://openalex.org/P4310320061","https://openalex.org/P4310320257"],"host_organization_lineage_names":["AIP Publishing","American Institute of Physics"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Computing in Science &amp; Engineering","raw_type":"journal-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/A5035949517","display_name":"Srinath Kailasa","orcid":"https://orcid.org/0000-0001-9734-8318"},"institutions":[{"id":"https://openalex.org/I45129253","display_name":"University College London","ror":"https://ror.org/02jx3x895","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I45129253"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Srinath Kailasa","raw_affiliation_strings":["University College London, London, U.K"],"raw_orcid":"https://orcid.org/0000-0001-9734-8318","affiliations":[{"raw_affiliation_string":"University College London, London, U.K","institution_ids":["https://openalex.org/I45129253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101715362","display_name":"Tingyu Wang","orcid":"https://orcid.org/0000-0003-2520-0511"},"institutions":[{"id":"https://openalex.org/I193531525","display_name":"George Washington University","ror":"https://ror.org/00y4zzh67","country_code":"US","type":"education","lineage":["https://openalex.org/I193531525"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tingyu Wang","raw_affiliation_strings":["The George Washington University, Washington, D.C., USA"],"raw_orcid":"https://orcid.org/0000-0003-2520-0511","affiliations":[{"raw_affiliation_string":"The George Washington University, Washington, D.C., USA","institution_ids":["https://openalex.org/I193531525"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5028603986","display_name":"Lorena A. Barba","orcid":"https://orcid.org/0000-0001-5812-2711"},"institutions":[{"id":"https://openalex.org/I193531525","display_name":"George Washington University","ror":"https://ror.org/00y4zzh67","country_code":"US","type":"education","lineage":["https://openalex.org/I193531525"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Lorena A. Barba","raw_affiliation_strings":["The George Washington University, Washington, D.C., USA"],"raw_orcid":"https://orcid.org/0000-0001-5812-2711","affiliations":[{"raw_affiliation_string":"The George Washington University, Washington, D.C., USA","institution_ids":["https://openalex.org/I193531525"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078044622","display_name":"Timo Betcke","orcid":"https://orcid.org/0000-0002-3323-2110"},"institutions":[{"id":"https://openalex.org/I45129253","display_name":"University College London","ror":"https://ror.org/02jx3x895","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I45129253"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Timo Betcke","raw_affiliation_strings":["University College London, London, U.K"],"raw_orcid":"https://orcid.org/0000-0002-3323-2110","affiliations":[{"raw_affiliation_string":"University College London, London, U.K","institution_ids":["https://openalex.org/I45129253"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.3058,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.59328298,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":96},"biblio":{"volume":"24","issue":"5","first_page":"77","last_page":"84"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10739","display_name":"Electromagnetic Scattering and Analysis","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/3107","display_name":"Atomic and Molecular Physics, and Optics"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10739","display_name":"Electromagnetic Scattering and Analysis","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/3107","display_name":"Atomic and Molecular Physics, and Optics"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"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.9919999837875366,"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"}},{"id":"https://openalex.org/T13126","display_name":"Scientific Research and Discoveries","score":0.9850999712944031,"subfield":{"id":"https://openalex.org/subfields/3109","display_name":"Statistical and Nonlinear Physics"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8668155074119568},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8660217523574829},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6990795135498047},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6015384793281555},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5943958163261414},{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.5430448055267334},{"id":"https://openalex.org/keywords/fortran","display_name":"Fortran","score":0.5276997089385986},{"id":"https://openalex.org/keywords/multithreading","display_name":"Multithreading","score":0.5230518579483032},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.45204901695251465},{"id":"https://openalex.org/keywords/posix-threads","display_name":"POSIX Threads","score":0.4135257303714752},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.34298190474510193},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.11938667297363281}],"concepts":[{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8668155074119568},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8660217523574829},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6990795135498047},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6015384793281555},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5943958163261414},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.5430448055267334},{"id":"https://openalex.org/C2778241615","wikidata":"https://www.wikidata.org/wiki/Q83303","display_name":"Fortran","level":2,"score":0.5276997089385986},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.5230518579483032},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.45204901695251465},{"id":"https://openalex.org/C41138395","wikidata":"https://www.wikidata.org/wiki/Q928112","display_name":"POSIX Threads","level":3,"score":0.4135257303714752},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.34298190474510193},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.11938667297363281}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/mcse.2023.3258288","is_oa":false,"landing_page_url":"https://doi.org/10.1109/mcse.2023.3258288","pdf_url":null,"source":{"id":"https://openalex.org/S107923245","display_name":"Computing in Science & Engineering","issn_l":"1521-9615","issn":["1521-9615","1558-366X"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320061","host_organization_name":"AIP Publishing","host_organization_lineage":["https://openalex.org/P4310320061","https://openalex.org/P4310320257"],"host_organization_lineage_names":["AIP Publishing","American Institute of Physics"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Computing in Science &amp; Engineering","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.7300000190734863,"id":"https://metadata.un.org/sdg/4"}],"awards":[{"id":"https://openalex.org/G1705107144","display_name":"Integrated Simulation at the Exascale: coupling, synthesis and performance","funder_award_id":"EP/W007460/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G306234255","display_name":null,"funder_award_id":"Studentship 2417009","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G5145175596","display_name":"SysGenX: Composable software generation for system-level simulation at Exascale","funder_award_id":"EP/W026260/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":7,"referenced_works":["https://openalex.org/W2048007344","https://openalex.org/W2078095679","https://openalex.org/W2083206954","https://openalex.org/W2117926105","https://openalex.org/W2245493112","https://openalex.org/W3167722760","https://openalex.org/W4246166885"],"related_works":["https://openalex.org/W4294310504","https://openalex.org/W2338363223","https://openalex.org/W2158978940","https://openalex.org/W2573076482","https://openalex.org/W4283366496","https://openalex.org/W2770398737","https://openalex.org/W1589260871","https://openalex.org/W326640590","https://openalex.org/W4238724297","https://openalex.org/W2143828763"],"abstract_inverted_index":{"Numba":[0,61,87],"is":[1],"a":[2,59,71,76,99],"game-changing":[3],"compiler":[4],"for":[5,34,89],"high-performance":[6],"computing":[7],"with":[8,42,70],"Python.":[9],"It":[10],"produces":[11],"machine":[12],"code":[13,88],"that":[14,23,84],"runs":[15],"outside":[16],"of":[17,28,63,79],"the":[18,26,64],"single-threaded":[19],"Python":[20],"interpreter,":[21],"and":[22,37,75],"fully":[24],"utilizes":[25],"resources":[27],"modern":[29],"CPUs.":[30],"This":[31],"means":[32],"support":[33],"parallel":[35],"multithreading":[36],"auto-vectorization":[38],"if":[39],"available,":[40],"as":[41,46,94,96],"compiled":[43,100],"languages":[44],"such":[45],"C++":[47],"or":[48],"Fortran.":[49],"In":[50],"this":[51],"article,":[52],"we":[53],"document":[54],"our":[55],"experience":[56],"developing":[57],"PyExaFMM,":[58],"multithreaded":[60],"implementation":[62],"fast":[65],"multipole":[66],"method,":[67],"an":[68],"algorithm":[69],"nonlinear":[72],"data":[73,80],"structure":[74],"large":[77],"amount":[78],"organization.":[81],"We":[82],"find":[83],"designing":[85],"performant":[86],"complex":[90],"algorithms":[91],"can":[92],"be":[93],"challenging":[95],"writing":[97],"in":[98],"language.":[101]},"counts_by_year":[{"year":2025,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
