论文标题
PARADRAM:用于平行高性能延迟反应自适应大都会马尔可夫链蒙特卡洛模拟的跨语言工具箱
ParaDRAM: A Cross-Language Toolbox for Parallel High-Performance Delayed-Rejection Adaptive Metropolis Markov Chain Monte Carlo Simulations
论文作者
论文摘要
我们提出了Paradram,这是一种高性能平行的延迟反应自适应大都市马尔可夫链蒙特卡洛软件,用于优化,采样和集成在科学推断中遇到的数学目标函数。目前可以从几种流行的编程语言访问Paradram,包括C/C ++,Fortran,Matlab,Python,并且是Paramonte开源项目的一部分,具有以下主要设计目标:1。蒙特卡洛模拟的完全自动化,2。核心库与核心图书馆的互操作性以及尽可能多的编程语言的互操作性,从而提供了各种编码,从而提供了一个统一的统一程序,并提供了一个统一的工程,并提供了一个统一的范围,并提供了一个统一的范围。高性能4。从个人笔记本电脑到超级计算机的模拟的并行性和可伸缩性,5。实际上对外部文库的依赖性零依赖性,6。模拟的完全确定性可重复性,7。自动综合报告和模拟结果的后处理。我们介绍并讨论了在Paradram中实施的几种新型技术,以自动,动态地确保良好的混合和减少的适应性,从而使所得的伪马尔科夫链从Paradram开始。我们还讨论了Paradram中使用的有效数据存储方法的实现,该方法将算法的平均内存和存储要求减少,对于简单的模拟问题来说,4个因子为4,而对于抽样复杂的高维数学目标函数,则更多的数量级。最后,我们讨论了Paradram的设计目标如何帮助用户轻松有效地在广泛的计算平台上解决各种机器学习和科学推断问题。
We present ParaDRAM, a high-performance Parallel Delayed-Rejection Adaptive Metropolis Markov Chain Monte Carlo software for optimization, sampling, and integration of mathematical objective functions encountered in scientific inference. ParaDRAM is currently accessible from several popular programming languages including C/C++, Fortran, MATLAB, Python and is part of the ParaMonte open-source project with the following principal design goals: 1. full automation of Monte Carlo simulations, 2. interoperability of the core library with as many programming languages as possible, thus, providing a unified Application Programming Interface and Monte Carlo simulation environment across all programming languages, 3. high-performance 4. parallelizability and scalability of simulations from personal laptops to supercomputers, 5. virtually zero-dependence on external libraries, 6. fully-deterministic reproducibility of simulations, 7. automatic comprehensive reporting and post-processing of the simulation results. We present and discuss several novel techniques implemented in ParaDRAM to automatically and dynamically ensure the good-mixing and the diminishing-adaptation of the resulting pseudo-Markov chains from ParaDRAM. We also discuss the implementation of an efficient data storage method used in ParaDRAM that reduces the average memory and storage requirements of the algorithm by, a factor of 4 for simple simulation problems, to an order of magnitude and more for sampling complex high-dimensional mathematical objective functions. Finally, we discuss how the design goals of ParaDRAM can help users readily and efficiently solve a variety of machine learning and scientific inference problems on a wide range of computing platforms.