Mentions légales du service

Skip to content
Snippets Groups Projects
Pierre Esterie's avatar
ESTERIE Pierre authored
a302ae08
History

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.