Skip to content
This repository has been archived by the owner on Apr 21, 2023. It is now read-only.
/ mpEDM Public archive

A scalable parallel implementation of Empirical Dynamic Modeling

License

Notifications You must be signed in to change notification settings

keichi/mpEDM

Repository files navigation

mpEDM

This project has been superseded by kEDM and will no longer be maintained. kEDM has generally higher performance than mpEDM, and provides Python bindings for ease of use.


GPU-accelerated implementation of Empirical Dynamic Modeling

Requirements

  • CMake 3.10+
  • C++ compiler that supports C++11 (Intel C++ Compiler is strongly recommended for building the CPU backend)
  • HDF5 (parallel build if building the multi-node benchmarks)
  • (optional) MPI if building the multi-node benchmarks
  • (optional) ArrayFire 3.6.2+ if building the GPU backend

Installation

  1. Install dependencies:

  2. Clone the source code:

    $ git clone --recursive https://github.com/keichi/mpEDM.git
    
  3. Run cmake:

    $ cd mpEDM
    $ mkdir build
    $ cd build
    $ cmake -DCMAKE_BUILD_TYPE=Release ..
    
    • -DCMAKE_BUILD_TYPE can be either Release, RelWithDebInfo, Debug or MinSizeRel.
    • Add -DCMAKE_CXX_COMPILER=/path/to/c++ to select the C++ compiler to use.
    • Add -DCMAKE_CXX_FLAGS="..." to customize the C++ compiler flags.
    • Add -DHDF5_DIR=/path/to/hdf5 if HDF5 is not installed in a standard path.
    • Add -DArrayFire_DIR=/path/to/arrayfire if ArrayFire is not installed in a standard path.
  4. Run make:

    $ make
    

Literature

For a detailed description of the algorithm and performance measurements using up to 2,044 GPUs, please refer to the following paper:

Wassapon Watanakeesuntorn, Keichi Takahashi, Kohei Ichikawa, Joseph Park, George Sugihara, Ryousei Takano, Jason Haga, Gerald M. Pao, "Massively Parallel Causal Inference of Whole Brain Dynamics at Single Neuron Resolution", 26th International Conference on Parallel and Distributed Systems (ICPADS 2020), Dec. 2020. 10.1109/ICPADS51040.2020.00035