elise1993 / sysidHAVOK

This is a testbed for system identification and forecasting of dynamical systems using the Hankel Alternative View of Koopman (HAVOK) algorithm and Sparse Identification of Nonlinear Dynamics (SINDy). This code is based on the work by Brunton & Kutz (2022) and Yang et. al. (2022).
MIT License
1 stars 0 forks source link

Use GPU/multi-CPU calculations where necessary #1

Closed elise1993 closed 9 months ago

elise1993 commented 11 months ago

GPU: Some matrix calculations within this algorithm can be optimized for GPU usage. However, allocating GPU memory is sometimes slower than performing computations on the CPU (if the dataset is small enough). Implement an algorithm that enables GPU compute when data surpasses some threshold. Functions for allocating/retrieving/operating on GPU variables are:

Multi-CPU: For expensive but decoupled operations, use multi-CPU instead. Note: A lot of core functions in MATLAB are already parallelized, such as:

To enable parallel computing in for-loops, use parfor. This loop cannot include dependencies. Variables in this context include:

CPU: Some operations, like nonlinear or linearly coupled system solving with ODE45 or fsolve, are not parallelizable, or require custom code.