Skip to main content

A high-performance implementation of the Empirical Dynamic Modeling (EDM) framework

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kedm_cuda11x-0.9.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (968.3 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

kedm_cuda11x-0.9.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (967.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

kedm_cuda11x-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (967.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

kedm_cuda11x-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (967.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

kedm_cuda11x-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (967.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

kedm_cuda11x-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (967.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

kedm_cuda11x-0.9.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (967.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

kedm_cuda11x-0.9.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (967.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file kedm_cuda11x-0.9.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e3d5d17c65ba3a909894dfbcfb3dde11578a6948e727106b57ffba3a6bc26310
MD5 7a350e8b4d4b22b24588dc5ef3aee136
BLAKE2b-256 cb6c121f6635b768807cc3293b89cdcb774900bbef31acb697d5134aa7060b25

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedm_cuda11x-0.9.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 051f5377250d4f49e5f2ab63796c524c14337a2b58b70c771fc5cd32cd67cb05
MD5 2ea34d8b765e4216d7297841436e2d46
BLAKE2b-256 63909a95df88d44f2ee4fcda5ffdd6a69d538f5f7413afe1b2e01f9b30f2c57e

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedm_cuda11x-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 931ab3a60f4e7aee364ef18891958d6f2c96a3cdc0d07afcf94abfa581dc4582
MD5 24607a61b999ff9db5380d2b4eb53a06
BLAKE2b-256 76fabb527d04f64d9a0b38b8685c6f61b85c9a4b767404749a891d92875f4bec

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedm_cuda11x-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 126f1ca06caf1bd72909dab59482e6cc0ef802d32f7c52335507fb89340fbf5c
MD5 acb973724fe1ae51e6f4227b99a6cdc3
BLAKE2b-256 26c362f312a0ad0140bb2e3d11765d952e926ac11e4c2d6345fd65338f2513ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedm_cuda11x-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a2dc8381fa1dd0ec4f508a2b9b3bdfec7618eb2c3120ff365932e36a4798a0b5
MD5 080f5c9d125ee9bc6fdfa96e9bde0af2
BLAKE2b-256 8a70ad40a9470d6c6fd0ac4a4bab1b05f7445c12bb7a35c07519e91feb5a4f56

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedm_cuda11x-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b2419e44c0c6bf1b98aa9079838e64007bb122d4cd6b0639d1a676f69a695a7f
MD5 501facdf65a37f00bc0787b1604ddb71
BLAKE2b-256 2c9b2b8f5a874cf993cabfbed0eb9bf2ee98246838940ad189be7ef42594a246

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedm_cuda11x-0.9.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 97a96c318f45f0e7153ea158ea8696fdd675d193bd2c26c1b7ae210048b3fa35
MD5 99438f79492e30e42ffbfe09343d97a4
BLAKE2b-256 c7cd5e9d77aea9e37ccfa0072ded744fa733cd5c5821b504890edda1b0f1e815

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kedm_cuda11x-0.9.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for kedm_cuda11x-0.9.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 788725a2e670341d20215ec23ca1b5c2b33404a9fce6ddc9d315d7015a2b8fec
MD5 e2df2f8210e68b98185e86d31d43477e
BLAKE2b-256 9b7b6c3afd56749b3cf3920e32c6e9f525526b5d82eaa70d4dceba0b5a4984a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for kedm_cuda11x-0.9.3-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: main.yml on keichi/kEDM

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page