Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.5%) to scientific vocabulary
Repository
A kernel-independent FMM without interaction lists.
Basic Info
- Host: GitHub
- Owner: annayesy
- License: mit
- Language: Python
- Default Branch: main
- Size: 144 KB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
skelFMM: A Simplified Kernel-Independent Fast Multipole Method (FMM)
Overview
skelFMM is a research implementation of a novel kernel-independent fast multipole method (FMM) designed for efficiently evaluating discrete convolution kernels with given source distributions. This method introduces a simplified approach that eliminates the need for explicit interaction lists by leveraging near-neighbor computations at each level of an adaptive tree structure. The algorithm is well-suited for parallelization on modern hardware and supports a wide range of kernels.
Unlike traditional FMM implementations, skelFMM simplifies data structures by operating exclusively on the near-neighbor list (limited to a maximum size of 27 in 3D) rather than the interaction list (which can reach up to 189 in 3D). This makes the implementation lightweight and efficient while retaining full compatibility with adaptive quad-tree and octree structures. The method also introduces novel translation operators to handle adaptive point distributions effectively.
Key Features
- Simplified Data Structures: Avoids the need for complex interaction lists, reducing implementation complexity.
- Kernel Independence: Requires only kernel evaluations, making it applicable to a wide variety of convolution kernels.
- Parallel Efficiency: Designed for modern hardware with GPU-accelerated batched linear algebra operations.
- Adaptive Tree Compatibility: Supports both uniform and non-uniform point distributions in 2D and 3D environments.
- Precomputation Optimization: Constructs tailored skeleton representations during a precomputation stage for efficient runtime performance.
The figures show the interaction list of size at most 27 in 2D, as well as additional lists, which are typically part of traditional FMM implementations. The work reorganizes the computations involved in the kernel-independent FMM to traverse the near-neighbor list at every level of the tree, which retaining full compatatibility with adaptive tree structures.
Citation
If you use skelFMM in your research, please cite the accompanying paper:
@article{yesypenko2024simplified,
title={A simplified fast multipole method based on strong recursive skeletonization},
author={Yesypenko, Anna and Chen, Chao and Martinsson, Per-Gunnar},
journal={Journal of Computational Physics},
pages={113707},
year={2024},
publisher={Elsevier}
}
Owner
- Name: Anna Yesypenko
- Login: annayesy
- Kind: user
- Location: United States
- Repositories: 1
- Profile: https://github.com/annayesy
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Yesypenko" given-names: "Anna" orcid: "https://orcid.org/0009-0008-1409-4075" title: "SkelFMM: A Simplified Kernel-Independent Fast Multipole Method in Python" version: 1.0.0 doi: 10.5281/zenodo.14613533 date-released: 2025-01-07 url: "https://github.com/annayesy/skelFMM"
GitHub Events
Total
- Release event: 1
- Watch event: 3
- Public event: 1
- Push event: 4
- Create event: 1
Last Year
- Release event: 1
- Watch event: 3
- Public event: 1
- Push event: 4
- Create event: 1