Skip to content

keichi/kEDM

Repository files navigation

kEDM

build Documentation Status PyPI version

kEDM (Kokkos-EDM) is a high-performance implementation of the Empirical Dynamical Modeling (EDM) framework. The goal of kEDM is to provide an optimized and parallelized implementation of EDM algorithms for high-end CPUs and GPUs, while ensuring compatibility with the original reference implementation (cppEDM).

Following EDM algorithms are currently implemented in kEDM:

  • Simplex projection [1]
  • Sequential Locally Weighted Global Linear Maps (S-Map) [2]
  • Convergent Cross Mapping (CCM) [3]

Installation

CPU (Linux and macOS)

pip3 install kedm

NVIDIA GPU (CUDA 11.2 or later)

pip3 install kedm-11x

NVIDIA GPU (CUDA 12.0 or later)

pip3 install kedm-12x

Citing

Please cite the following papers if you find kEDM useful:

  • Keichi Takahashi, Kohei Ichikawa, Joseph Park, Gerald M. Pao, “Scalable Empirical Dynamic Modeling with Parallel Computing and Approximate k-NN Search,” IEEE Access, vol. 11, pp. 68171–68183, Jun. 2023. 10.1109/ACCESS.2023.3289836
  • Keichi Takahashi, Wassapon Watanakeesuntorn, Kohei Ichikawa, Joseph Park, Ryousei Takano, Jason Haga, George Sugihara, Gerald M. Pao, "kEDM: A Performance-portable Implementation of Empirical Dynamical Modeling," Practice & Experience in Advanced Research Computing (PEARC 2021), Jul. 2021. 10.1145/3437359.3465571

References

  1. George Sugihara, Robert May, "Nonlinear forecasting as a way of distinguishing chaos from measurement error in time series," Nature, vol. 344, pp. 734–741, 1990. 10.1038/344734a0
  2. George Sugihara, "Nonlinear forecasting for the classification of natural time series. Philosophical Transactions," Physical Sciences and Engineering, vol. 348, no. 1688, pp. 477–495, 1994. 10.1098/rsta.1994.0106
  3. George Sugihara, Robert May, Hao Ye, Chih-hao Hsieh, Ethan Deyle, Michael Fogarty, Stephan Munch, "Detecting Causality in Complex Ecosystems," Science, vol. 338, pp. 496–500, 2012. 10.1126/science.1227079