S

ScalFMM

N-body simulation using kernel independent Fast Multipole Method

Name Last Update
Addons/CKernelApi Loading commit data...
Build Loading commit data...
CMakeModules Loading commit data...
Data Loading commit data...
Doc Loading commit data...
Examples Loading commit data...
Obsolete Loading commit data...
Src Loading commit data...
Tests Loading commit data...
UTests Loading commit data...
Utils Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
CMakeLists.txt Loading commit data...
LICENCE Loading commit data...
NEWS.txt Loading commit data...
README.md Loading commit data...
ScalFMMConfig.cmake.in Loading commit data...
Validation.txt Loading commit data...

ScalFMM: Fast Multipole Method


ScalFMM has moved to Inria's GitLab: https://gitlab.inria.fr/solverstack/ScalFMM


ScalFMM is a C++ library that implements a kernel independent Fast Multipole Method.

Copyright Inria, please read the licence.

Requirements

The following are optional:

  • Doxygen to build the documentation.
  • An MPI implementation to build the distributed files.
  • Custom BLAS, FFT implementations.
  • StarPU for the relevant FMM implementations.

Build

# Move to the build folder
cd scalfmm/Build
# Use cmake, with relevant options
cmake .. # -DSCALFMM_USE_MPI=ON

The build may be configured after the first CMake invocation using, for instance, ccmake or cmake-gui.

# Still in the Build folder
ccmake .
# Or
cmake-gui .

The binaries are then compiled calling make. They can be found in scalfmm/Build/Tests/{Release,Debug}/...

An example build using StarPU:

cmake .. -DSCALFMM_USE_STARPU=ON -DSCALFMM_USE_CUDA=OFF -DSCALFMM_USE_OPENCL=OFF  \
               -DHWLOC_DIR=/home/berenger/Download/hwloc-1.10.0/install/      \
               -DSTARPU_DIR=/home/berenger/Download/starpu-work/StarPU/installwithfxt

Build the doc:

cd scalfmm/Build
cmake .. -DSCALFMM_BUILD_DOC=ON # or if cmake has already been called, ccmake .
make doc

This will generate the documentation in HTML format in the Build/Doc/html folder. You can create a local server to access it using Python

# From the Build folder
cd Doc/html
python3 -m http.server # or python2 -m SimpleHTTPServer

The documentation can then be accessed from an internet browser at the address localhost:8000.

Help and News

You can subscribe to the scalfmm-public-users@lists.gforge.inria.fr mailing list (http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/scalfmm-public-users). The list is very low trafic (~ 2 mails per year), we will let you know of improvements and releases.

Contact the developers at : scalfmm-public-support@lists.gforge.inria.fr

Folder structure

  • Src : library core.
  • Data : particle distribution examples.
  • Examples : common usage examples.
  • Doc : documentation configuration.
  • UTests : unit tests.
  • Tests : examples to know how to use scalfmm/put particles in the tree/iterate on the tree...
  • Utils : some scripts and binaries to handle data files.