keichi / kedm Goto Github PK
View Code? Open in Web Editor NEWA high-performance implementation of Empirical Dynamic Modeling (EDM)
Home Page: https://kedm.readthedocs.io/
License: MIT License
A high-performance implementation of Empirical Dynamic Modeling (EDM)
Home Page: https://kedm.readthedocs.io/
License: MIT License
kedm.__version__
is invalid when installed from PyPI. Probably because #12 removed versionfile_build
.
keichi@m1max tmp % pip3 install kedm==0.5.0
Collecting kedm==0.5.0
Using cached kedm-0.5.0-cp311-cp311-macosx_11_0_arm64.whl (806 kB)
Collecting numpy>=1.7.0
Using cached numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl (13.8 MB)
Installing collected packages: numpy, kedm
Successfully installed kedm-0.5.0 numpy-1.24.2
[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: pip install --upgrade pip
keichi@m1max tmp % python3 -c 'import kedm; print(kedm.__version__)'
Kokkos::OpenMP::initialize WARNING: OMP_PROC_BIND environment variable not set
In general, for best performance with OpenMP 4.0 or better set OMP_PROC_BIND=spread and OMP_PLACES=threads
For best performance with OpenMP 3.1 set OMP_PROC_BIND=true
For unit testing set OMP_PROC_BIND=false
0+unknown
Hello @keichi ,
I passed a 2D numpy array to the xmap function as below.
import kedm
import numpy as np
x = np.random.uniform(2,15,size=6000).astype('float32')
y = np.random.uniform(2,15,size=6000).astype('float32')
data = np.stack((x,y),axis=1)
print(data.shape)
ccm = kedm.xmap(data)
I am getting a type error for this as shown below. Am I missing anything here? Thanks in advance
I'm trying to utilize the edm-xmap executable for a simulated rossler attractor connected to a downstream RNN. I get the following "core dumped" error. Any ideas?
(kedm2) david.wyrick@robinson:~/Git/kEDM/build$ ./edm-xmap --rho --rho-diff -v rossler_attractor_data.h5 test.h5
Simpelx for time series #0 took 0.433066 seconds.
Simpelx for time series #1 took 0.727102 seconds.
Simpelx for time series #2 took 0.718243 seconds.
Simpelx for time series #3 took 0.729723 seconds.
Simpelx for time series #4 took 0.712222 seconds.
Simpelx for time series #5 took 0.70494 seconds.
Simpelx for time series #6 took 0.715175 seconds.
Simpelx for time series #7 took 0.715711 seconds.
Simpelx for time series #8 took 0.707749 seconds.
Simpelx for time series #9 took 0.712507 seconds.
49152 260024
Aborted (core dumped)
Sir,
This is a general query about corrcoef_state used in xmap (CCM).
(1) Is it correct to understand that the function corrcoef_state is used to find the correlation between source to target time series data inputs in xmap ?
(2) since CCM can work in non-linear data relationships, will corrcoef_state's correlation calculation work with time-series data under nonlinear relationships?
I also have a related generic CCM question after a cross-map prediction using nearest neighbors on X|Y(m) and Y||X(m), can we use Pearson correlation to finally arrive at the CCM correlation under an assumption that X and Y may have a nonlinear relationship?
Thanks in advance.
Please consider to return the matrix of smap coefficients. They are a primary tool used to asses intravariable interactions.
@keichi , I'm trying to understand the difference between the edm-xmap executable and the python binding xmap. Are they different? In the documentation, it says the executable performs pairwise cross mapping using simplex projection. What does the python binding xmap do? Furthermore, how are the xmap and ccm python functions different? Are the random samples drawn in the CCM function excluded from the embedding procedure?
A follow up question is why the python bindings run slower than the executable. Both appear to be using the GPU, but the executable calculates the all-to-all CCM for a 10,000 x 500 matrix in like 20 seconds whereas the python code takes forever (i didn't finish it). it's almost as if the python binding is only partially utilizing the GPU.
Originally posted by @davidgwyrick in #40 (comment)
Kokkos should gracefully fall back to OpenMP or Serial if CUDA Toolkit is not found.
See #19 for test cases
Hello, I seem to be getting a compile error during installation related to Cuda. My workstation has a GeForce RTX 4090 with cuda 12.1 installed. I first created a conda environment, which I installed the cuda toolbox. It fails to find the correct nvidia GPU architecture even though I specified the correct one (I think). any ideas? Thank you in advance.
(kedm) david.wyrick@robinson:~/Git/kEDM$ cmake -B build -S . -DKEDM_ENABLE_PYTHON=ON -DKEDM_ENABLE_GPU=ON -DKokkos_ARCH_ADA89=ON -DKEDM_ENABLE_EXECUTABLES=ON
-- Setting default Kokkos CXX standard to 17
-- The project name is: Kokkos
-- Using internal gtest for testing
-- Compiler Version: 12.2.128
-- kokkos_launch_compiler (/home/david.wyrick/Git/kEDM/src/thirdparty/kokkos/bin/kokkos_launch_compiler) is enabled...
-- Using -std=c++17 for C++17 standard as feature
-- CUDA auto-detection of architecture failed with /usr/bin/c++. Enabling CUDA language ONLY to auto-detect architecture...
CMake Error at src/thirdparty/kokkos/cmake/kokkos_arch.cmake:801 (MESSAGE):
CUDA enabled but no NVIDIA GPU architecture currently enabled and
auto-detection failed. Please give one -DKokkos_ARCH_{..}=ON' to enable an
NVIDIA GPU architecture.
You can yourself try to compile
/home/david.wyrick/Git/kEDM/src/thirdparty/kokkos/cmake/compile_tests/cuda_compute_capability.cc
and run the executable. If you are cross-compiling, you should try to do
this on a compute node.
Call Stack (most recent call first):
src/thirdparty/kokkos/cmake/kokkos_tribits.cmake:244 (INCLUDE)
src/thirdparty/kokkos/CMakeLists.txt:213 (KOKKOS_SETUP_BUILD_ENVIRONMENT)
-- Architectures:
-- Using internal desul_atomics copy
-- Kokkos Devices: OPENMP;CUDA, Kokkos Backends: OPENMP;CUDA
-- Boost.Math: standalone mode ON
-- pybind11 v2.9.2
-- kEDM build configuration:
-- C++ Compiler: GNU 11.4.0
-- /usr/bin/c++
-- CPU backend: ON
-- GPU backend: ON
-- Executables: ON
-- Python bindings: ON
-- MPI: OFF
-- Unit tests: ON
-- LIKWID: OFF
-- Scratch memory: ON
-- SIMD primitives: ON
-- Configuring incomplete, errors occurred!
See also "/home/david.wyrick/Git/kEDM/build/CMakeFiles/CMakeOutput.log".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.