Coder Social home page Coder Social logo

exafmm-dev's Introduction

--- 1. Quick start guide
There is no need to configure or CMake.
You may need to change the CXX command in Makefile.include.
Then do the following.

To run the serial FMM example:
cd examples
make serial

To run the parallel FMM example:
cd examples
make parallel

To run the GROMACS wrapper example:
cd wrapper
make gromacs

To get the list of command line options:
./a.out --help


--- 2. Where are the important files?
Most of the source code is in the directory "include" in the form of header files.
Different versions of P2M,M2M,M2L,L2L,L2P,P2P kernel implementations are in "kernels".
File names and variable names are self-explanatory, and every line is commented.
The best documentation is most likely the code itself.


--- 3. What's in the directory "gpu"?
"gpu" is a completely independent code at the moment.
It will be integrated into the main code soon.
To run it:
cd gpu
make


--- 4. What's in Makefile.include?
This file is included from each Makefile in all subdirectories.
Most options of exafmm can be controlled from this file.

EQUATION : Type of equation to solve
BASIS : Type of multipole/local expansion basis
DEVICE : CPU or GPU
CXX : Type of compiler and options
LFLAGS : Linker options and preprocessor options (see comments)


--- 5. Why is there a CMakeLists.txt?
This project is not yet large enough to justify the use of CMake,
but we are just testing a few features of CMake.
You probably don't want to use this feature.

--- 6. Available features
Contorl both P and theta
Error optimization of theta
Mutual interaction for both P2P and M2L kernels
Laplace kernel
Cartesian, Spherical expansions
Dual tree traversal
Periodic boundary condition
Kahan summation
Task based threading with TBB, MTHREADS, and OpenMP
SIMD intrinsics for SSE, AVX, MIC, BG/Q, and SPARC

-- 7. Features that were removed
Skipping dipoles

exafmm-dev's People

Contributors

taura avatar kentaura avatar knepley avatar

Stargazers

Cloud avatar

Watchers

3gx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.