{"id":"https://openalex.org/W7165144530","doi":"https://doi.org/10.48550/arxiv.2606.19059","title":"A performance portable fast Ewald summation for Stokes flow","display_name":"A performance portable fast Ewald summation for Stokes flow","publication_year":2026,"publication_date":"2026-06-17","ids":{"openalex":"https://openalex.org/W7165144530","doi":"https://doi.org/10.48550/arxiv.2606.19059"},"language":null,"primary_location":{"id":"doi:10.48550/arxiv.2606.19059","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2606.19059","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"},"type":"preprint","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.48550/arxiv.2606.19059","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5005273769","display_name":"Gabriel Kosmacher","orcid":"https://orcid.org/0000-0002-6368-0563"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Kosmacher, Gabriel","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101202129","display_name":"Ziyu Du","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Du, Ziyu","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043079972","display_name":"Joar Bagge","orcid":"https://orcid.org/0000-0002-6953-8058"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Bagge, Joar","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5044137409","display_name":"George Biros","orcid":"https://orcid.org/0000-0002-0033-3994"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Biros, George","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11751","display_name":"Lattice Boltzmann Simulation Studies","score":0.08219999819993973,"subfield":{"id":"https://openalex.org/subfields/2206","display_name":"Computational Mechanics"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11751","display_name":"Lattice Boltzmann Simulation Studies","score":0.08219999819993973,"subfield":{"id":"https://openalex.org/subfields/2206","display_name":"Computational Mechanics"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11082","display_name":"Spacecraft Dynamics and Control","score":0.05139999836683273,"subfield":{"id":"https://openalex.org/subfields/2202","display_name":"Aerospace Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12350","display_name":"Particle Dynamics in Fluid Flows","score":0.043699998408555984,"subfield":{"id":"https://openalex.org/subfields/2212","display_name":"Ocean Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.6793000102043152},{"id":"https://openalex.org/keywords/fast-fourier-transform","display_name":"Fast Fourier transform","score":0.5782999992370605},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.5271000266075134},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.5013999938964844},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.482699990272522},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.4690000116825104},{"id":"https://openalex.org/keywords/single-precision-floating-point-format","display_name":"Single-precision floating-point format","score":0.4108999967575073},{"id":"https://openalex.org/keywords/bounded-function","display_name":"Bounded function","score":0.3970000147819519},{"id":"https://openalex.org/keywords/scaling","display_name":"Scaling","score":0.38749998807907104}],"concepts":[{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.6793000102043152},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6672000288963318},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.6664999723434448},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6413999795913696},{"id":"https://openalex.org/C75172450","wikidata":"https://www.wikidata.org/wiki/Q623950","display_name":"Fast Fourier transform","level":2,"score":0.5782999992370605},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.5271000266075134},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.5013999938964844},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.482699990272522},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.4690000116825104},{"id":"https://openalex.org/C133095886","wikidata":"https://www.wikidata.org/wiki/Q1307173","display_name":"Single-precision floating-point format","level":3,"score":0.4108999967575073},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4077000021934509},{"id":"https://openalex.org/C34388435","wikidata":"https://www.wikidata.org/wiki/Q2267362","display_name":"Bounded function","level":2,"score":0.3970000147819519},{"id":"https://openalex.org/C99844830","wikidata":"https://www.wikidata.org/wiki/Q102441924","display_name":"Scaling","level":2,"score":0.38749998807907104},{"id":"https://openalex.org/C143551052","wikidata":"https://www.wikidata.org/wiki/Q2426155","display_name":"Ewald summation","level":3,"score":0.3725999891757965},{"id":"https://openalex.org/C207864730","wikidata":"https://www.wikidata.org/wiki/Q179467","display_name":"Fourier series","level":2,"score":0.3571000099182129},{"id":"https://openalex.org/C35912277","wikidata":"https://www.wikidata.org/wiki/Q1243369","display_name":"Double-precision floating-point format","level":3,"score":0.3447999954223633},{"id":"https://openalex.org/C9652623","wikidata":"https://www.wikidata.org/wiki/Q190109","display_name":"Field (mathematics)","level":2,"score":0.3041999936103821},{"id":"https://openalex.org/C120373497","wikidata":"https://www.wikidata.org/wiki/Q1087987","display_name":"Parallel algorithm","level":2,"score":0.2903999984264374},{"id":"https://openalex.org/C83283714","wikidata":"https://www.wikidata.org/wiki/Q121117","display_name":"Supercomputer","level":2,"score":0.27950000762939453},{"id":"https://openalex.org/C102519508","wikidata":"https://www.wikidata.org/wiki/Q6520159","display_name":"Fourier transform","level":2,"score":0.272599995136261},{"id":"https://openalex.org/C203024314","wikidata":"https://www.wikidata.org/wiki/Q1365258","display_name":"Fourier analysis","level":3,"score":0.2689000070095062},{"id":"https://openalex.org/C38349280","wikidata":"https://www.wikidata.org/wiki/Q1434290","display_name":"Flow (mathematics)","level":2,"score":0.2612000107765198},{"id":"https://openalex.org/C84655787","wikidata":"https://www.wikidata.org/wiki/Q8067817","display_name":"Compressibility","level":2,"score":0.2565000057220459},{"id":"https://openalex.org/C2777574091","wikidata":"https://www.wikidata.org/wiki/Q10619158","display_name":"Bunches","level":3,"score":0.2535000145435333},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.2531999945640564}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.48550/arxiv.2606.19059","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2606.19059","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.48550/arxiv.2606.19059","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2606.19059","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"We":[0,151,201],"present":[1],"GPU":[2,78,102,167],"algorithms":[3,97],"for":[4,8,66,196,222],"Ewald":[5,21,171],"summation":[6],"methods":[7],"accelerating":[9],"N-body":[10,19],"Stokes":[11],"flow":[12],"problems":[13],"in":[14,237],"periodic":[15],"domains.":[16],"Like":[17],"most":[18],"codes,":[20],"sums":[22],"use":[23],"a":[24,63,148,153,165,182,187,193,204],"near-field/far-field":[25],"decomposition.":[26],"The":[27,34,110,169],"near":[28],"field":[29,36],"involves":[30,38],"particle-to-particle":[31],"(P2P)":[32],"interactions.":[33],"far":[35],"primarily":[37],"particle-to-grid":[39],"(P2G)":[40],"and":[41,79,84,100,103,106,133,185],"grid-to-particle":[42],"(G2P)":[43],"interactions,":[44],"as":[45,47],"well":[46],"Fast":[48],"Fourier":[49],"Transforms.":[50],"For":[51],"each":[52],"interaction,":[53],"we":[54],"investigate":[55],"several":[56],"algorithmic":[57],"variants.":[58],"Our":[59],"implementation":[60,141],"uses":[61],"PyKokkos,":[62],"Python":[64],"interface":[65],"the":[67,93,143,226,238],"Kokkos":[68],"C++":[69],"parallel":[70],"programming":[71],"framework,":[72],"which":[73,230],"supports":[74],"portability":[75],"to":[76,160,164,211,234],"AMD/NVIDIA":[77],"ARM/x86":[80],"CPU":[81,108],"architectures.":[82,109],"Double":[83],"single-precision":[85],"numerical":[86],"results,":[87],"alongside":[88],"analytical":[89],"performance":[90],"models,":[91],"confirm":[92],"efficiency":[94,117],"of":[95,142,199],"our":[96],"on":[98,104,118,122,126,130,135,181,192,209],"AMD":[99,107,127,136],"NVIDIA":[101,119,123],"ARM":[105],"P2P":[111],"interaction":[112],"achieves":[113,158],"around":[114],"73%":[115],"compute":[116],"H200,":[120],"84%":[121],"A100,":[124],"60%":[125],"MI300,":[128],"52%":[129],"Grace":[131,194],"CPU,":[132,195],"68%":[134],"Epyc":[137],"CPU.":[138],"A":[139],"straightforward":[140],"P2G":[144,155],"kernel":[145],"can":[146,231],"become":[147],"computational":[149],"bottleneck.":[150],"introduce":[152],"novel":[154],"algorithm":[156],"that":[157,217],"up":[159,210],"16$\\times$":[161],"speedup":[162],"compared":[163],"baseline":[166],"implementation.":[168],"overall":[170],"sum":[172],"code":[173],"processes":[174],"approximately":[175],"8":[176],"million":[177,213],"particles":[178,189,214],"per":[179,190],"second":[180,191],"H200":[183],"GPU,":[184],"about":[186],"half-million":[188],"nine":[197],"digits":[198],"accuracy.":[200],"also":[202],"perform":[203],"multi-GPU":[205],"weak":[206],"scaling":[207],"test":[208],"256":[212],"(64":[215],"GPUs)":[216],"shows":[218],"bounded":[219],"communication":[220,236],"cost":[221],"all":[223],"stages":[224],"except":[225],"all-to-all":[227],"particle":[228],"sorting,":[229],"be":[232],"reduced":[233],"neighbor":[235],"relevant":[239],"time-stepping":[240],"regime.":[241]},"counts_by_year":[],"updated_date":"2026-07-28T07:46:37.118299","created_date":"2026-06-19T00:00:00"}
