REVIEW 3 major objections 3 minor 32 references
PyClustrPath: An efficient Python package for generating clustering paths with GPU acceleration
T0 review · 3 major / 3 minor · reviewed 2026-08-10 · deepseek-v4-flash
Pith's one-line read PyClustrPath claims to be the first GPU-enabled Python package for convex clustering paths, with roughly 10x speedups on large datasets.
desk verdict A genuinely useful GPU package for convex clustering with plausible speedups, but the exact factors are softer than the abstract implies because CPU baselines are time-censored on the largest datasets. read the letter →
The pith
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
The reading
What carries the argument
The central object is the convex clustering model (CCM): minimize over cluster centers the squared error to the data points plus a weighted sum-of-norms fusion penalty, with γ controlling how strongly points are pulled together. Solving the model for a sequence of γ values produces the clustering path. The machinery that carries the argument is the trio of optimization algorithms, especially SSNAL, whose semismooth Newton iterations require sparse Cholesky factorizations and preconditioned conjugate gradient; PyClustrPath accelerates the dense operations with PyTorch tensors on GPU and uses the cholespy library for sparse Cholesky factorization.
What would settle it
Re-run all solvers on one machine with the paper's 100-value γ sequence and verify that each reported runtime reaches the paper's exact duality gap on the paper's primal-dual pair; the speedup claim fails if GPU SSNAL does not finish the MNIST path in under 15 minutes while solving all 100 problems, or if a CPU solver reaches the same gap in comparable wall-clock time.
Extended reading notes
Core claim
The paper establishes, on its own terms, that the linear algebraic operations dominating all three convex-clustering algorithms—matrix-vector products, matrix additions, and matrix factorizations—can be executed on a GPU with PyTorch while preserving convergence behavior. The headline empirical result is that SSNAL with GPU acceleration reaches the same relative duality gap tolerance, η ≤ 1e-6, about 10 times faster than the best CPU implementation on COIL-20, LUNG, and MNIST. PyClustrPath is presented as the first package for convex clustering to support GPU computation and the first to offer the SSNAL algorithm in Python.
Load-bearing premise
The load-bearing premise is that the relative duality gap η = |fp − fd| / (1 + |fp| + |fd|) ≤ 1e-6 is computed from the same primal-dual pair in every package, so equal η means equal solution accuracy and a faster runtime truly reflects a faster solver.
Editorial extensions
If this is right
- Generating a full clustering path on MNIST's 10,000 samples drops from roughly 2.5 hours on CPU to about 15 minutes on a single GPU, making path-based analysis practical at that scale.
- On LUNG, GPU SSNAL completes the 100-problem path in 67.34 seconds versus 660.14 seconds for CPU, a speedup of about 10x.
- The same Python interface runs ADMM, fast AMA, and SSNAL on CPU or GPU, so comparing algorithms no longer requires switching between R and Matlab packages.
- Because PyClustrPath is modular, a newly proposed convex-clustering solver can be dropped into the package and benchmarked against existing algorithms on identical problems without reimplementation.
Reading between the lines
- The same GPU-porting strategy should transfer to related fusion-penalty clustering models, such as sparse convex clustering or convex hierarchical clustering, since those models share the same dominant linear algebra.
- The reported speedups are tied to the specific test hardware (an RTX 4090) and to the 1e-6 duality-gap tolerance; on GPUs with weaker double-precision throughput, or at looser tolerances, the gap between GPU and CPU may narrow.
- The performance profiles in the paper suggest the GPU advantage grows with dataset size, so the largest benefits should appear in exactly the regimes where clustering paths are currently too slow to generate.
- A fair re-test should confirm that every runtime listed in Table 3 ends with the same duality gap; if CPU runs are stopped at a looser gap, the speedup ratio would be overstated.
Signed reviews
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper introduces PyClustrPath, a Python package for solving the convex clustering model (CCM) and generating clustering paths over a sequence of regularization parameters γ. The package implements three algorithms—ADMM, fast AMA, and SSNAL—supports both CPU and GPU execution through PyTorch and a sparse Cholesky library, and provides a modular API and visualization tools. The numerical section benchmarks PyClustrPath against the existing R package cvxclustr and Matlab package ConvexClustering on five datasets (LIBRAS-6, LIBRAS, COIL-20, LUNG, MNIST), using 100 γ values per dataset and a relative duality gap tolerance of ε = 1e-6. The central claim is that GPU-accelerated SSNAL achieves roughly 10× speedups over CPU implementations, e.g., solving the MNIST path in 889.87 seconds versus 8928.26 seconds for the CPU version.
Significance. If the reported speedups are reliable, PyClustrPath is a useful contribution to the convex clustering toolbox: it appears to be the first package to provide GPU support for SSNAL and the other implemented algorithms, and its modular design should make it easy to extend. The paper also has strengths in transparency: the code is publicly available, the termination criterion is fixed across experiments as a relative duality gap, and performance profiles are included. However, the quantitative headline—'about 10× speedup'—rests on benchmark comparisons in which several CPU solver times are censored by the 10T time cap, so the exact speedup factors are not established by the reported experiments.
major comments (3)
- [§4, Table 3] The headline speedup figures are computed from a mixture of completed and time-censored runs. For COIL-20, ConvexClustering CPU SSNAL solves only 48 of the 100 problems in 469.28 seconds, while PyClustrPath GPU SSNAL solves all 100 in 46.78 seconds; for MNIST, the CPU SSNAL entry solves only 95 problems in 8928.26 seconds, while the GPU run completes the full path in 889.87 seconds. Statements in §4.1 such as 'about 10× speedup on both datasets' and 'more than 10× speedup' therefore compare a full-run time with a stopped-clock time, not a time-to-complete the same 100-problem path. To support the exact speedup factors, the CPU solvers must be run to completion on the same 100-problem path, or the censored entries must be extrapolated under an explicitly stated and validated model.
- [§4, Table 3] All wall-clock times in Table 3 are single runs with no repeated trials, variance measures, or confidence intervals. Since the comparisons are the main evidence for the package's efficiency, at least a small number of repeated runs with reported medians and spreads is needed to establish that the speedups and per-algorithm rankings are not artifacts of machine variability or measurement noise.
- [§4, termination criterion] The paper states that all algorithms are terminated by the relative duality gap η = |fp − fd|/(1 + |fp| + |fd|) ≤ ε, but it does not specify whether fp and fd are computed from the identical primal-dual pair for every solver, including the R, Matlab, and Python packages. If the dual constructions or the definitions of fp and fd differ across implementations, then equal η values do not correspond to equal solution accuracy, and the runtime comparison is biased. The paper should explicitly give the primal and dual forms used and verify that each package evaluates the same gap expression.
minor comments (3)
- [§5] In the concluding section, the package name is misspelled as 'PyClusterPath' in the sentence about future improvements; it should be 'PyClustrPath'.
- [Table 2] The γ column notation such as '[0.45 : 0.09]' is not explained; it should be stated whether this denotes the start value, step size, and number of values, or a list of parameters.
- [§4.1] The bullet points in §4.1 repeat Table 3 numbers without distinguishing completed runs from censored ones; at minimum each speedup statement should cite the corresponding table entries so readers can see which entries are annotated with asterisks.
Circularity Check
No significant circularity: PyClustrPath is an implementation and benchmark paper whose speedup claims are empirical and compared against external packages under a stated stopping rule.
full rationale
This is a software and benchmark paper, not a derivation. The central claims—GPU acceleration improves runtime for ADMM, fast AMA, and SSNAL—are supported by Table 3 timings obtained under a stated termination criterion (relative duality gap η ≤ ε with ε = 1e-6) and a stated 10T time cap. No parameter is fitted to a subset and then renamed a prediction; no result is defined into existence. Citations to prior work by the authors (Yuan et al. 2018; Sun et al. 2021) supply the SSNAL algorithm and the ConvexClustering package used as a CPU baseline; these are legitimate external artifacts, not unverified self-support for the present package. The only notable benchmarking concern is the censoring of CPU runs by the 10T time cap (e.g., MNIST ConvexClustering SSNAL 8920.74*(17)), which could make exact speedup ratios approximate, but this concerns experimental fairness, not circularity; the comparison is still against independently published solvers and does not reduce to the paper's own outputs. No circular self-definition, fitted-input-as-prediction, or imported uniqueness claim was found.
Assumptions & free parameters
assumptions (3)
- standard math The convex clustering model (CCM) has a unique solution for each γ > 0 because the objective is strongly convex.
- domain assumption The ADMM, fast AMA, and SSNAL algorithms converge to a solution of (CCM) under the settings used in the package.
- domain assumption The relative duality gap η = |fp - fd| / (1 + |fp| + |fd|) is a valid and equivalent stopping criterion across all compared packages.
Cite this review
Pith. "Pith review of PyClustrPath: An efficient Python package for generating clustering paths with GPU acceleration." pith.science (2026). https://pith.science/paper/Q6WSDTQI
@misc{pith2026250115964,
author = {Pith},
title = {Pith review of: PyClustrPath: An efficient Python package for generating clustering paths with GPU acceleration},
year = {2026},
howpublished = {\url{https://pith.science/paper/Q6WSDTQI}},
note = {Machine review of arXiv:2501.15964}
}
read the original abstract
Convex clustering is a popular clustering model without requiring the number of clusters as prior knowledge. It can generate a clustering path by continuously solving the model with a sequence of regularization parameter values. This paper introduces {\it PyClustrPath}, a highly efficient Python package for solving the convex clustering model with GPU acceleration. {\it PyClustrPath} implements popular first-order and second-order algorithms with a clean modular design. Such a design makes {\it PyClustrPath} more scalable to incorporate new algorithms for solving the convex clustering model in the future. We extensively test the numerical performance of {\it PyClustrPath} on popular clustering datasets, demonstrating its superior performance compared to the existing solvers for generating the clustering path based on the convex clustering model. The implementation of {\it PyClustrPath} can be found at: https://github.com/D3IntOpt/PyClustrPath.
Figures
Figures from the paper (7 more)
Reference graph
Works this paper leans on
-
[1]
Api design for machine learning software: experiences from the scikit-learn project
Lars Buitinck, Gilles Louppe, Mathieu Blondel, Fabian Pedregosa, Andreas Mueller, Olivier Grisel, Vlad Niculae, Peter Prettenhofer, Alexandre Gramfort, Jaques Grobler, et al. Api design for machine learning software: experiences from the scikit-learn project. arXiv preprint arXiv:1309.0238, 2013
arXiv 2013
-
[2]
HPR-LP : A n implementation of an HPR method for solving linear programming
Kaihuang Chen, Defeng Sun, Yancheng Yuan, Guojun Zhang, and Xinyuan Zhao. HPR-LP : A n implementation of an HPR method for solving linear programming. arXiv preprint arXiv:2408.12179, 2024
arXiv 2024
-
[3]
Splitting methods for convex clustering
Eric C Chi and Kenneth Lange. Splitting methods for convex clustering. Journal of Computational and Graphical Statistics, 24 0 (4): 0 994--1013, 2015
work page 2015
-
[4]
Recovering trees with convex clustering
Eric C Chi and Stefan Steinerberger. Recovering trees with convex clustering. SIAM Journal on Mathematics of Data Science, 1 0 (3): 0 383--407, 2019
work page 2019
-
[5]
Provable convex co-clustering of tensors
Eric C Chi, Brian J Gaines, Will Wei Sun, Hua Zhou, and Jian Yang. Provable convex co-clustering of tensors. Journal of Machine Learning Research, 21 0 (214): 0 1--58, 2020
work page 2020
-
[6]
Fast tree inference with weighted fusion penalties
Julien Chiquet, Pierre Gutierrez, and Guillem Rigaill. Fast tree inference with weighted fusion penalties. Journal of Computational and Graphical Statistics, 26 0 (1): 0 205--216, 2017
work page 2017
-
[7]
Daniel Dias, Sarajane Peres, and Helton Bscaro. Libras Movement . UCI Machine Learning Repository, 2009
work page 2009
-
[8]
Convex hierarchical clustering for graph-structured data
Claire Donnat and Susan Holmes. Convex hierarchical clustering for graph-structured data. In 2019 53rd Asilomar Conference on Signals, Systems, and Computers, pages 1999--2006. IEEE, 2019
work page 2019
Show all 32 references
-
[9]
Sum-of-norms clustering does not separate nearby balls
Alexander Dunlap and Jean-Christophe Mourrat. Sum-of-norms clustering does not separate nearby balls. arXiv preprint arXiv:2104.13753, 2021
2021 arXiv
-
[10]
A review of convex clustering from multiple perspectives: models, optimizations, statistical properties, applications, and connections
Qiying Feng, CL Philip Chen, and Licheng Liu. A review of convex clustering from multiple perspectives: models, optimizations, statistical properties, applications, and connections. IEEE Transactions on Neural Networks and Learning Systems, 2023
2023
-
[11]
Clusterpath an algorithm for clustering using convex fusion penalties
Toby Dylan Hocking, Armand Joulin, Francis Bach, and Jean-Philippe Vert. Clusterpath an algorithm for clustering using convex fusion penalties. In 28th International Conference on Machine Learning, pages 745--752, 2011
2011
-
[12]
Recovery of a mixture of G aussians by sum-of-norms clustering
Tao Jiang, Stephen Vavasis, and Chen Wen Zhai. Recovery of a mixture of G aussians by sum-of-norms clustering. Journal of Machine Learning Research, 21 0 (225): 0 1--16, 2020
2020
-
[13]
Gradient-based learning applied to document recognition
Yann LeCun, L \'e on Bottou, Yoshua Bengio, and Patrick Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86 0 (11): 0 2278--2324, 1998
1998
-
[14]
Biclustering via sparse singular value decomposition
Mihee Lee, Haipeng Shen, Jianhua Z Huang, and James S Marron. Biclustering via sparse singular value decomposition. Biometrics, 66 0 (4): 0 1087--1095, 2010
2010
-
[15]
Clustering using sum-of-norms regularization: With application to particle filter output computation
Fredrik Lindsten, Henrik Ohlsson, and Lennart Ljung. Clustering using sum-of-norms regularization: With application to particle filter output computation. In 2011 IEEE Statistical Signal Processing Workshop, pages 201--204, 2011
2011
-
[16]
Columbia object image library (coil-20)
Sameer A Nene, Shree K Nayar, and Hiroshi Murase. Columbia object image library (coil-20). Technical Report CUCS-005-96, 1996
1996
-
[17]
Large steps in inverse rendering of geometry
Baptiste Nicolet, Alec Jacobson, and Wenzel Jakob. Large steps in inverse rendering of geometry. ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia), 40 0 (6), 2021. doi:10.1145/3478513.3480501
2021
-
[18]
Numerical Optimization
Jorge Nocedal and Stephen Wright. Numerical Optimization. Springer, 2006
2006
-
[19]
Clustering by sum of norms: Stochastic incremental algorithm, convergence and cluster recovery
Ashkan Panahi, Devdatt Dubhashi, Fredrik D Johansson, and Chiranjib Bhattacharyya. Clustering by sum of norms: Stochastic incremental algorithm, convergence and cluster recovery. In 34th International Conference on Machine Learning, pages 2769--2777, 2017
2017
-
[20]
Pytorch: An imperative style, high-performance deep learning library
Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, et al. Pytorch: An imperative style, high-performance deep learning library. Advances in neural information processing systems, 32, 2019
2019
-
[21]
Convex clustering shrinkage
Kristiaan Pelckmans, Joseph De Brabanter, Johan AK Suykens, and B De Moor. Convex clustering shrinkage. In PASCAL Workshop on Statistics and Optimization of Clustering Workshop, 2005
2005
-
[22]
Convex clustering via l_1 fusion penalization
Peter Radchenko and Gourab Mukherjee. Convex clustering via l_1 fusion penalization. Journal of the Royal Statistical Society. Series B (Statistical Methodology), 79 0 (5): 0 1527--1546, 2017
2017
-
[23]
Convex clustering: Model, theoretical guarantee and efficient algorithm
Defeng Sun, Kim-Chuan Toh, and Yancheng Yuan. Convex clustering: Model, theoretical guarantee and efficient algorithm. Journal of Machine Learning Research, 22 0 (9): 0 1--32, 2021
2021
-
[24]
Accelerating preconditioned A D M M via degenerate proximal point mappings
Defeng Sun, Yancheng Yuan, Guojun Zhang, and Xinyuan Zhao. Accelerating preconditioned A D M M via degenerate proximal point mappings. arXiv preprint arXiv:2403.18618, 2024
2024 arXiv
-
[25]
Statistical properties of convex clustering
Kean Ming Tan and Daniela Witten. Statistical properties of convex clustering. Electronic Journal of Statistics, 9 0 (2): 0 2324--2347, 2015
2015
-
[26]
Sparse convex clustering
Binhuan Wang, Yilong Zhang, Will Wei Sun, and Yixin Fang. Sparse convex clustering. Journal of Computational and Graphical Statistics, 27 0 (2): 0 393--403, 2018
2018
-
[27]
Randomly projected convex clustering model: Motivation, realization, and cluster recovery guarantees
Ziwen Wang, Yancheng Yuan, Jiaming Ma, Tieyong Zeng, and Defeng Sun. Randomly projected convex clustering model: Motivation, realization, and cluster recovery guarantees. arXiv preprint arXiv:2303.16841, 2023
2023 arXiv
-
[28]
An efficient semismooth N ewton based algorithm for convex clustering
Yancheng Yuan, Defeng Sun, and Kim-Chuan Toh. An efficient semismooth N ewton based algorithm for convex clustering. In 35th International Conference on Machine Learning, pages 5718--5726, 2018
2018
-
[29]
A dimension reduction technique for large-scale structured sparse optimization problems with application to convex clustering
Yancheng Yuan, Tsung-Hui Chang, Defeng Sun, and Kim-Chuan Toh. A dimension reduction technique for large-scale structured sparse optimization problems with application to convex clustering. SIAM Journal on Optimization, 32 0 (3): 0 2294--2318, 2022
2022
-
[30]
An efficient H P R algorithm for the W asserstein barycenter problem with O ( D im( P )/ ) computational complexity
Guojun Zhang, Yancheng Yuan, and Defeng Sun. An efficient H P R algorithm for the W asserstein barycenter problem with O ( D im( P )/ ) computational complexity. arXiv preprint arXiv:2211.14881, 2022
2022 arXiv
-
[31]
H O T : A n efficient H alpern accelerating algorithm for optimal transport problems
Guojun Zhang, Zhexuan Gu, Yancheng Yuan, and Defeng Sun. H O T : A n efficient H alpern accelerating algorithm for optimal transport problems. arXiv preprint arXiv:2408.00598, 2024
2024 arXiv
-
[32]
Convex optimization procedure for clustering: Theoretical revisit
Changbo Zhu, Huan Xu, Chenlei Leng, and Shuicheng Yan. Convex optimization procedure for clustering: Theoretical revisit. Advances in Neural Information Processing Systems, 27: 0 1619--1627, 2014
2014
Reviewed August 10, 2026 · model on record in the stance chip above.
Discussion (0). Continue with ORCID to comment.