Repository navigation
Releases: pao-unit/FastCCM
Releases · pao-unit/FastCCM
Release list
v0.4.2
v0.4.1
Faster k-NN search and simplex weighted average on both CPU and CUDA (1.3-5 times, depending on shape and device), plus a new moran_matrix(...).
Full Changelog: v0.3.1...v0.4.1
Changes
- Added
moran_matrix(...)toPairwiseCCM, computing Moran's I of target vectors over source k-NN graphs. - Improved the k-NN search: matmul-based squared distances in a reusable workspace, with the clamp and square root applied only to the selected neighbors instead of the whole distance block.
- Replaced the full-block exclusion mask with a sparse one that touches only the columns a query can actually exclude.
- Reused the neighbor workspace between calls by default:
clean_afterinscore_matrix(...)andpredict_matrix(...)now defaults toFalse, matching the documented behavior (1.5-3 times faster for repeated calls). - Improved the simplex weighted average by using
embedding_bagfor wide target blocks, avoiding abmmslowdown that affected target embeddings with 5 or more columns (up to ~5 times faster on CPU, ~1.3 times on CUDA). - Added a prefiltered neighbor selection on CUDA for libraries above 4096 points (~1.7 times faster for long series).
- Improved streaming metric accumulation and CUDA simplex batching.
- Added benchmark scripts and generated CPU/GPU reports (
scripts/README_CPU.md,scripts/README_GPU.md).
FastCCM v0.3.1
Full Changelog: v0.2.4...v0.3.1
Changes
- Added batching across targets.
- Added configurable
memory_budget_gband improved auto-batching for simplex and SMAP. - Improved simplex and SMAP performance, including target batching and optional SMAP precomputation.
- Added optional global-baseline subtraction via
subtract_globalinPairwiseCCM. - Improved blocked
Functionsutilities with suffix alignment, progress bars, and more consistenttphandling.
FastCCM v0.2.4
Full Changelog: v0.2.3...v0.2.4
Changes
- Improved
simplexweighted-average performance (~2 times faster). - Improved batch processing via metric streaming (reduces peak RAM/VRAM use).
- Added logger, progress bar, per-batch timing logs.
- Improved OOM handling.
- Added optional disk-backed outputs (
out_path) forFunctions.score_matrix_blockedandFunctions.predict_matrix_blockedusingnumpy.memmap.
FastCCM v0.2.3
Full Changelog: v0.2.2...v0.2.3
Changes
- Match results/tests with
pyEDM. - Fix SMAP implementation to prevent memory/compute blow-up and reduce unnecessary computation.
FastCCM v0.2.2
Full Changelog: v0.2.0...v0.2.2
- Out-of-memory (OOM) handling.
- Chunked processing for memory safety.
- Cleanup on completion and on error.
- Consistent dtype handling.
FastCCM v0.2.1
Full Changelog: v0.2.0...v0.2.1
- Robust memory safety. Automatic batching for both simplex and smap paths plus cleanup.
- Switches to Cholesky solves instead of pseudo-inverse in SMAP.
- Cleaner public API & docs
FastCCM v0.2.0
Full Changelog: https://github.com/z7743/FastCCM/commits/v0.2.0
FastCCM v0.2.0 — Public API
fastccm
- class
PairwiseCCM(...)score_matrix(...)predict_matrix(...)
fastccm.ccm_utils
- class
Functions(...)score_matrix_blocked(...)predict_matrix_blocked(...)convergence_test(...)prediction_interval_test(...)find_optimal_embedding_params(...)
- class
Visualizer(...)plot_convergence_test(...)visualize_optimal_e_tau(...)plot_interval_prediction_test(...)
fastccm.utils
embed(...)get_td_embedding_np(...)calculate_correlation_dimension(...)calculate_rank_for_variance(...)metrics.get_metric(...)
fastccm.data
get_truncated_lorenz_rand(...)get_truncated_rossler_lorenz_rand(...)