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
- 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
-
Install dependencies:
-
Clone the source code:
$ git clone --recursive https://github.com/keichi/mpEDM.git
-
Run cmake:
$ cd mpEDM $ mkdir build $ cd build $ cmake -DCMAKE_BUILD_TYPE=Release ..
-DCMAKE_BUILD_TYPE
can be eitherRelease
,RelWithDebInfo
,Debug
orMinSizeRel
.- 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.
-
Run make:
$ make
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