kEDM: A Performance-portable Implementation of Empirical Dynamic Modeling using Kokkos
Keichi Takahashi (1), Wassapon Watanakeesuntorn (1), Kohei Ichikawa, (1), Joseph Park (2), Ryousei Takano (3), Jason Haga (3), George Sugihara, (4), Gerald M. Pao (5) ((1) Nara Institute of Science, Technology, (2), U.S. Department of the Interior

TL;DR
This paper introduces kEDM, a performance-portable implementation of Empirical Dynamic Modeling using Kokkos, achieving significant speedups and simplifying deployment across diverse HPC hardware.
Contribution
We developed kEDM, a unified, performance-portable EDM implementation leveraging Kokkos, improving scalability and ease of use across CPUs and GPUs.
Findings
Achieved up to 5.5x speedup over previous mpEDM implementation.
Demonstrated effective scalability on diverse HPC architectures.
Validated performance improvements using real-world datasets.
Abstract
Empirical Dynamic Modeling (EDM) is a state-of-the-art non-linear time-series analysis framework. Despite its wide applicability, EDM was not scalable to large datasets due to its expensive computational cost. To overcome this obstacle, researchers have attempted and succeeded in accelerating EDM from both algorithmic and implementational aspects. In previous work, we developed a massively parallel implementation of EDM targeting HPC systems (mpEDM). However, mpEDM maintains different backends for different architectures. This design becomes a burden in the increasingly diversifying HPC systems, when porting to new hardware. In this paper, we design and develop a performance-portable implementation of EDM based on the Kokkos performance portability framework (kEDM), which runs on both CPUs and GPUs while based on a single codebase. Furthermore, we optimize individual kernels…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
