Fast Partial Least Squares for High-Dimensional Data
Overview
Fast implementations of partial least squares models for high-dimensional regression and classification. The 'fastPLS' software provides compiled implementations of PLS-SVD, a SIMPLS-family estimator, OPLS and kernel PLS, together with truncated singular value decomposition backends, discriminant classifiers, cross-validation utilities and optional 'CUDA' or Apple 'Metal' acceleration when the required system libraries are available. Compact latent prediction and memory-aware numerical routes support analyses with large predictor or multivariate-response matrices.
- Corrected MKL thread control to call only its C entry point. The lowercase Fortran entry expects a pointer and could crash when
n.coreswas set, including before an unavailable CUDA backend returned its normal error. - Corrected the shared SIMPLS score Gram matrix used by LDA to include correlations between direction blocks. Assuming these correlations were zero could produce an indefinite pooled covariance and failed Cholesky stabilization, notably for binary classification with many components. PLS directions and rSVD defaults are unchanged.
- Require
gpuinfo0.2.0 and include its CUDA shared-library inventory infastPLS::cuda_info(), marking the libraries required by fastPLS. Generic hardware discovery remains independent of this package's native runtime checks. Fitting, prediction, and cross-validation no longer repeat system discovery or reject a working backend on the basis of a separate probe.
Show all changes in 0.4Hide the rest of the changes in 0.4
- Prevent
fastPLS_blas()from reporting R's BLAS path as the library used by an independently linked Accelerate or OpenBLAS build. - Added
gpuinfoas the shared hardware-capability dependency. Usegpuinfo::has_cuda()andgpuinfo::has_metal()for hardware discovery;cuda_info()continues to report whether this fastPLS build contains functional CUDA code. The duplicate public fastPLS capability functions have been removed. - Hardened zero-length float32 and numeric matrix serialization, including valid OPLS models with no orthogonal components.
- Added overflow checks for native matrix allocation and R array-path serialization, and reject CPU core counts outside R's integer range.
- Preserved the tracked Metal source when package cleanup runs during
R CMD build.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK14 OK2026-04-22
- ERROR13 OK, 1 ERROR2026-04-18
- OK14 OK2026-03-10
Documentation
- Help pages
- 12
- Examples that run
- 100%12 run in a plain check
- Exported functions with examples
- 100%
- Documented parameters
- 88%
- Return-value docs
- 100%
- Help pages citing references
- 0%
- fastPLS User Guide HTML
- Installing fastPLS HTML
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- not measured
- Median days to close, 50 most recently updated closed PRs
- 0
Commits over time
1 development-tooling and community-health practice detected across 1 family in the upstream repository
Checks run against github.com/tkcaccia/fastpls on 2026-10-18.
Dependencies
Installing fastPLS adds 2 packages (2 with compiled code, 1.4 MB of source tarballs). Heaviest: float 1.3 MB, gpuinfo 84 KB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 0.4Latest2026-10-20 · current release · diff ↗ ··
removed 2 exports
has_cuda, has_metal14 hours in CRAN's queue
Listed in CRAN's incoming queue from 2026-10-15 17:32 to 2026-10-16 07:45 UTC, in 5 readings. - 0.32026-09-28 · diff ↗ ·
removed 3 exports
optim.pls.cv, predict.fastPLS, transformyadded 8 exports
evaluate, fastPLS_blas, fastsvd, cuda_info, has_cuda, has_metal, pls.single.cv, plot.permutation - RR 4.6.0 released · 2026-04-24
- RR 4.5.0 released · 2025-04-11
- 0.22024-12-11
- RR 4.4.0 released · 2024-04-24
Package metadata
- First published
- 2024-12-11
- Total releases
- 3 / 2 yrs
- License
- MIT + file LICENSE OSI · relicensed from GPL-3 in 0.3
- Minimum R
- ≥ 4.6.0
- Download size
- 602 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("fastPLS")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-21, which the citation names so these numbers can be found later. More on citing and the projects behind them.