{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/an-mathcal-o-log-2n-smc-2-algorithm-on","title":"An $\\mathcal{O}(\\log_2N)$ SMC$^2$ Algorithm on Distributed Memory with an Approx. Optimal L-Kernel","arxiv_id":"2311.12973","date":"2023-11-21","proceeding":null,"authors":["Conor Rosato","Alessandro Varsi","Joshua Murphy","Simon Maskell"],"abstract":"Calibrating statistical models using Bayesian inference often requires both accurate and timely estimates of parameters of interest. Particle Markov Chain Monte Carlo (p-MCMC) and Sequential Monte Carlo Squared (SMC$^2$) are two methods that use an unbiased estimate of the log-likelihood obtained from a particle filter (PF) to evaluate the target distribution. P-MCMC constructs a single Markov chain which is sequential by nature so cannot be readily parallelized using Distributed Memory (DM) architectures. This is in contrast to SMC$^2$ which includes processes, such as importance sampling, that are described as \\textit{embarrassingly parallel}. However, difficulties arise when attempting to parallelize resampling. None-the-less, the choice of backward kernel, recycling scheme and compatibility with DM architectures makes SMC$^2$ an attractive option when compared with p-MCMC. In this paper, we present an SMC$^2$ framework that includes the following features: an optimal (in terms of time complexity) $\\mathcal{O}(\\log_2N)$ parallelization for DM architectures, an approximately optimal (in terms of accuracy) backward kernel, and an efficient recycling scheme. On a cluster of $128$ DM processors, the results on a biomedical application show that SMC$^2$ achieves up to a $70\\times$ speed-up vs its sequential implementation. It is also more accurate and roughly $54\\times$ faster than p-MCMC. A GitHub link is given which provides access to the code.","url_abs":"https://arxiv.org/abs/2311.12973v1","url_pdf":"https://arxiv.org/pdf/2311.12973v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"an-mathcal-o-log-2n-smc-2-algorithm-on","repo_url":"https://github.com/j-j-murphy/o-logn-smc-squared-on-mpi","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}