ParaMonte: Parallel Monte Carlo and Machine Learning Library for Python, MATLAB, Fortran, C++, C.
Major
This is a significant revision of the original ParaMonte 1 library toward the full release of the new ParaMonte 2 library.
Compiler Compatibility
Compiler Suite | Windows (64bit) | Linux | macOS |
---|---|---|---|
GNU Compiler Collection > 10.3 | ✅ | ✅ | ✅ |
Intel Parallel Studio > 2021.8.0 | ✅ | ✅ | ✅ |
Microsoft C/C++ Compiler > 16.0.0 | ✅ | ❌ | ❌ |
Major
This is a significant revision of the original ParaMonte 1 library toward the full release of the new ParaMonte 2 library.
Compiler Compatibility
Compiler Suite | Windows (64bit) | Linux | macOS |
---|---|---|---|
GNU Compiler Collection > 10.3 | ✅ | ✅ | ✅ |
Intel Parallel Studio > 2021.8.0 | ✅ | ✅ | ✅ |
Microsoft C/C++ Compiler > 16.0.0 | ✅ | ❌ | ❌ |
Minor Enhancements
This is a very minor, minimal final release of the original ParaMonte library before the impending new ParaMonte 2 library release.
Compiler Compatibility
Compiler Suite | Windows (64bit) | Linux | macOS |
---|---|---|---|
GNU Compiler Collection > 8.4 | ✅ | ✅ | ✅ |
Intel Parallel Studio > 19.1.1 | ✅ | ✅ | ✅ |
Microsoft C/C++ Compiler > 16.0.0 | ✅ | ❌ | ❌ |
Compiler / MPI library used for this binary release
Minor Enhancements
This is a minor enhancement release, but is a major step toward
further portability of the ParaMonte library. All ParaMonte kernel
library dependencies are now properly handled and recognized at runtime
without such aggressive actions as permanently redefining the environmental
path variables, most importantly, PATH
and LD_LIBRARY_PATH
on Linux/macOS.
The ParaMonte kernel routines are now capable of handling user-input file paths that contain white-space (blank) or other exotic characters.
The Bash build script for the ParaMonte C/C++/Fortran examples can now handle file paths that contain white-space (blank) or other exotic characters.
The shared (dynamic) library file naming convention is now changed from using "dynamic" in the file name to using "shared" in the file name.
Typo-fixes in the documentation of the library.
Compiler Compatibility
Compiler Suite | Windows (64bit) | Linux | macOS |
---|---|---|---|
GNU Compiler Collection > 8.4 | ✅ | ✅ | ✅ |
Intel Parallel Studio > 19.1.1 | ✅ | ✅ | ✅ |
Microsoft C/C++ Compiler > 16.0.0 | ✅ | ❌ | ❌ |
Compiler / MPI library used for this binary release
Major Enhancements
testing
builds are now removed from the ParaMonte release page as this build is mostly useful for development purposes.multiChain
parallelism mode, is now resolved.Minor Enhancements
build.sh
and build.bat
.heap
memory allocation with dynamic
library builds
for only serial and MPI parallelization for all languages. The stack
memory allocation results in
a ~10% gain in the efficiency of the code. The benefits of stack-memory builds are marginal and are
often problematic, in particular, for usage with non-compiled languages. However, users can still
build the library with stack
memory allocation by specifying the appropriate build flags with
the install.sh
on Unix or install.bat
script on Windows systems. For further information,
see the installation guidelines on the ParaMonte documentation website.Compiler Compatibility
Compiler Suite | Windows (64bit) | Linux | macOS |
---|---|---|---|
GNU Compiler Collection > 8.4 | ✅ | ✅ | ✅ |
Intel Parallel Studio > 19.1.1 | ✅ | ✅ | ✅ |
Microsoft C/C++ Compiler > 16.0.0 | ✅ | ❌ | ❌ |
Compiler / MPI library used for this binary release
Enhancements
build.sh
and build.bat
now check for the existence of both Intel and GNU compilers in the appropriate
order that is automatically inferred at the compilation time. Also, the dependencies
on the MPI compiler wrappers is now removed as the MPI libraries are not required to
build the ParaMonte examples, even in cases of parallel ParaMonte example builds.Compiler support
Compiler Suite | Windows (64bit) | Linux | macOS |
---|---|---|---|
GNU Compiler Collection > 7.0 | ✅ | ✅ | ✅ |
Intel Parallel Studio > 18.0.0 | ✅ | ✅ | ✅ |
Microsoft C/C++ Compiler > 16.0.0 | ✅ | ❌ | ❌ |
Compiler / MPI library used for this binary release
Enhancements
The IO debugging info of all ParaMonte samplers have been enhanced. In cases of wrong syntax or syntax-breaking input values in the simulation output files, the error messages are now more informative and point directly to the exact location of of error in the input file.
The Integrated Autocorrelation (IAC) for sample refinement in ParaDRAM
sampler of ParaMonte is now set to the average of all variables' IAC values
instead of the maximum IAC value. This will lead to less aggressive decorrelation
of the final sample, which means significantly larger final sample sizes, without
compromising the i.i.d. property of the final refined sample. This behavior can
be reversed back to the original by specifying "max" or "maximum" along with
the requested refinement method, SampleRefinementMethod = "batchmeans max"
or SampleRefinementMethod = "BatchMeans-max"
(case-insensitive).
Compiler support
Compiler Suite | Linux | macOS | Windows (64bit) |
---|---|---|---|
GNU Compiler Collection > 7.1 | ✓ | ✓ | ✗ |
Intel Parallel Studio > 18.0.0 | ✓ | ✓ | ✓ |
Compiler / MPI library used for this binary release
Enhancements
overwriteRequested
has
been added to all ParaMonte samplers. If TRUE and the
ParaMonte sampler detects an existing set of old simulation
output files in the output path of the current simulation with
the same names as the output file names of the current simulation,
then, the ParaMonte sampler will overwrite the existing simulation files.Compiler support
Compiler / MPI library used for this binary release
Version 1.2.0 -- September 22, 2020
Enhancements
The post-processing report in the output report file of ParaDRAM simulation has been significantly improved:
The ParaDRAM restart output file in ASCII mode now contains all proposal updates, including the first user-specified proposal specs.
All parallel simulations now avoid the unnecessary creation of temporary files by all processors for System and OS operations. This is particularly important for large-scale parallel simulations. As a side effect, this will also potentially improve the runtime performances of the simulation.
Major enhancements has been made to the parallel simulation
performance analysis reported in the post-processing section
of the ParaDRAM simulation output _report.txt
files.
The ParaMonte C/C++ build processes are now separate from each other.
Bug fixes
Compiler support
Compiler / MPI library used for this binary release
New features
Enhancements
Bug fixes
Compiler support
Compiler / MPI library used for this binary release
For more information on the usage, visit cdslab.org/paramonte/notes/installation/readme/