cdslaborg / paramonte Goto Github PK
View Code? Open in Web Editor NEWParaMonte: Parallel Monte Carlo and Machine Learning Library for Python, MATLAB, Fortran, C++, C.
Home Page: https://www.cdslab.org/paramonte
License: Other
ParaMonte: Parallel Monte Carlo and Machine Learning Library for Python, MATLAB, Fortran, C++, C.
Home Page: https://www.cdslab.org/paramonte
License: Other
Using run.sh provided in libparamonte_fortran_linux_x64_gnu_release_dynamic_heap_openmpi binary release.
Try:
$ ./run.sh --bad-arg
or similar. The script should give a helpful message to the user, but instead, nothing is output.
On a positive side, the status code is non-zero, as expected:
$ ./run.sh --bad-arg
$ echo $?
1
This is in reference to openjournals/joss-reviews#2741
883 tests performed. 99.89% of 883 tests passed. 1 tests failed. The total elapsed wall-clock time: 48.717209 seconds.
The following tests FAILED:
1 - Test_Statistics_mod@test_getBetaCDF_SPR_1
Where do I check detailed test output on a failure? The structure of directories is a nightmare here :)
should be "integration"
I'm trying to get hold of Matlab Paramonte for Linux. When I go the the installation page....
https://www.cdslab.org/paramonte/notes/installation/matlab/
..and click on the link for linux, it tries to open:
https://github.com/cdslaborg/paramonte/releases/latest/download/libparamonte_matlab_linux_x64.tar.gz
This is a broken link, and I've failed to find the correct one. In fact, just going to paramonte/releases seems to have links for the source code, but I can't find up to date Linux binaries anywhere! Where do the pre-bui;t binaries live now??
See my response to @arwelHughes for details.
Originally posted by Peku995 August 3, 2023
I have an idea for the upcoming release: At the moment, it is not possible to use a completely finished simulation as a starting point to carry out further iterations from here (at least to my knowledge). At the moment, this is only possible for simulations that are not completely finished. I think it would improve the restart capabilities of Paramonte considerably if you could also start from simulations that have already ended and then simply save the whole thing under a different name.
The programming language (e.g., all/C/C++/Fortran/Julia/MATLAB/Python/R/...):
Fortran
The compiler/interprerter (e.g., none/GNU/Intel/IBM/NAG/Cray/PGI-NVIDIA/Anaconda/...):
gcc-13.2.0
The operating system (e.g., all/Windows/Linux/macOS/WSL1/WSL2/...):
macOS 10.6
The architecture (e.g., all/x86_x64/Intelx64/ARM/POWER9/...):
ppc
Describe the bug
See the log:
[ 23%] Building Fortran object obj/CMakeFiles/libparamonte.dir/pm_mathFactoring.F90.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj && /opt/local/bin/mpif90-mpich-gcc13 -DBLAS_ENABLED=0 -DCAF_ENABLED=0 -DCFI_ENABLED=0 -DCHECK_ENABLED=0 -DCK1_ENABLED=1 -DCK2_ENABLED=2 -DCK3_ENABLED=3 -DCPP_ENABLED=0 -DC_ENABLED=0 -DDARWIN_ENABLED=1 -DDLL_ENABLED=0 -DFORTRAN_ENABLED=1 -DGNU_ENABLED=1 -DGO_ENABLED=0 -DIK1_ENABLED=1 -DIK2_ENABLED=2 -DIK3_ENABLED=3 -DIK4_ENABLED=4 -DINTEL_ENABLED=0 -DJAVA_ENABLED=0 -DJULIA_ENABLED=0 -DLAPACK_ENABLED=0 -DLK1_ENABLED=1 -DLK2_ENABLED=2 -DLK3_ENABLED=3 -DLK4_ENABLED=4 -DMATHEMATICA_ENABLED=0 -DMATLAB_ENABLED=0 -DMEXPRINT_ENABLED=0 -DMPI_ENABLED=0 -DOMP_ENABLED=0 -DPDT_ENABLED=0 -DPURE=pure -DPYTHON_ENABLED=0 -DRK1_ENABLED=1 -DRK2_ENABLED=2 -DRK3_ENABLED=3 -DR_ENABLED=0 -DSK1_ENABLED=1 -mmacosx-version-min=10.6 -J../inc -cpp -save-temps=cwd -fstack-arrays -ffree-line-length-none -fimplicit-none -std=legacy -pthread -fauto-inc-dec -fbranch-count-reg -fcombine-stack-adjustments -fcompare-elim -fcprop-registers -fdce -fdefer-pop -fdse -fforward-propagate -fguess-branch-probability -fif-conversion -fif-conversion2 -finline-functions-called-once -fipa-profile -fipa-pure-const -fipa-reference -fipa-reference-addressable -fmerge-constants -fmove-loop-invariants -fomit-frame-pointer -freorder-blocks -fshrink-wrap -fshrink-wrap-separate -fsplit-wide-types -fssa-backprop -fssa-phiopt -ftree-bit-ccp -ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-phiprop -ftree-pta -ftree-scev-cprop -ftree-sink -ftree-slsr -ftree-sra -ftree-ter -funit-at-a-time -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-pre -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-paths -ftree-loop-distribute-patterns -ftree-loop-distribution -ftree-loop-vectorize -ftree-partial-pre -ftree-slp-vectorize -funswitch-loops -fvect-cost-model -fversion-loops-for-strides -cpp -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/paramonte-2024.03.14/src/fortran/main/pm_mathFactoring.F90 -o CMakeFiles/libparamonte.dir/pm_mathFactoring.F90.o
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/paramonte-2024.03.14/src/fortran/main/[email protected]:51:30:
51 | model%huge = huge(mold)
| 1
Error: Arithmetic overflow converting REAL(8) to REAL(16) at (1). This check can be disabled with the option '-fno-range-check'
make[2]: *** [obj/CMakeFiles/libparamonte.dir/[email protected]] Error 1
make[2]: *** Waiting for unfinished jobs....
To Reproduce
Run the build on a given architecture (I think this has nothing to do with macOS as such).
Expected behavior
The code rather take into account 32-bit platforms.
Additional context
Version of paramonte
used 2024.03.14
There was no such an error with 1.5.1.
Have contributing guidelines, ideally in a CONTRIBUTING.md file.
The programming language (e.g., all/C/C++/Fortran/Julia/MATLAB/Python/R/...):
MATLAB
The compiler/interprerter (e.g., none/GNU/Intel/IBM/NAG/Cray/PGI-NVIDIA/Anaconda/...):
any
The operating system (e.g., all/Windows/Linux/macOS/WSL1/WSL2/...):
Windows (possibly others)
The architecture (e.g., all/x86_x64/Intelx64/ARM/POWER9/...):
amd64
Describe the bug
A clear and concise description of what the bug is.
See this discussion.
To Reproduce
See this discussion.
Expected behavior
The error should not happen.
Originally posted by Peku995 June 22, 2023
Hi, I tried to install the runtime libray automatically via paramonte in Matlab, however, it does not work because it seems as if it would use a wrong path. I also tried to install the library via downloading and installation, which worked, but paramonte does not detect the installation.
What can I do to overcome this problem?
Based on this discussion, it appears that the library downloads the intel runtime library w_mpi-rt_p_2019.4.245.exe , from the project's release page, but fails to install the runtime library correctly. The origins of this issue need to be explored.
This runtime library should be optional for most use cases.
Paramonte is MIT licensed.
However, ACKNOWLEDGMENT.md states:
As per the ParaMonte library license agreement terms, if you use any parts of
this library for any purposes, kindly acknowledge the use of ParaMonte in your
work (education/research/industry/development/...) by citing the ParaMonte
library's main publications as listed here:
The MIT license doesn't require acknowledgment, only that the copyright statement and the license body is included in the copy.
So I think the first paragraph in the ACKNOWLEDGMENT.md should be reworded to something like:
If you use ParaMonte, please acknowledge it by citing the ParaMonte library's main publications
to ask for acknowledgment but not make it sound like it's a legal requirement.
วันที่/เวลา ปลายทาง หน่วย ค่าบริการ (฿)
บริการรับส่งข้อความ MMS (ครั้ง) 1 6.42
28/10/2563 12:05:00 0858899541 1 6.42
Internet 16 GB 124 MB 503 KB 2.75
03/10/2563 01:39:01 Mobilenet 174 KB 0.00
03/10/2563 02:55:24 Mobilenet 13 MB 129 KB 0.00
03/10/2563 05:55:25 Mobilenet 128 KB 0.00
03/10/2563 07:47:36 Mobilenet 245 KB 0.00
03/10/2563 07:47:44 Mobilenet 7 MB 420 KB 0.00
03/10/2563 08:09:12 Mobilenet 8 MB 231 KB 0.00
03/10/2563 08:16:02 Mobilenet 1 MB 288 KB 0.00
03/10/2563 08:18:20 Mobilenet 1 MB 309 KB 0.00
03/10/2563 11:15:50 Mobilenet 692 KB 0.00
03/10/2563 14:37:59 Mobilenet 6 MB 869 KB 0.00
03/10/2563 17:18:04 Mobilenet 33 MB 507 KB 0.00
03/10/2563 21:01:20 Mobilenet 1 MB 55 KB 0.00
03/10/2563 22:32:39 Mobilenet 752 KB 0.00
03/10/2563 22:33:57 Mobilenet 115 KB 0.00
03/10/2563 22:35:16 Mobilenet 66 MB 614 KB 0.00
03/10/2563 23:59:08 Mobilenet 16 KB 0.00
04/10/2563 00:00:00 Mobilenet 170 KB 0.00
1
2
3
4
5
...
16
20
ย้อนกลับ
มีข้อสงสัยเกี่ยวกับรายละเอียดการใช้บริการ กรุณาเลือกแจ้งปัญหา เพื่อแจ้งรายละเอียด
แจ้งปัญหา
Most repos listed under integration
are about software integration, not numerical integration.
I Have Paramonte running well via the Matlab interface, and also am seeing significant speedup when running Paramonte from a terminal using 'mpiexec'.
However, I also have a Matlab Parallel Computing Toolbox (PCT) licence, and this 'under the hood' does execute code on multiple Matlab sessions, using an implementation of MPI (e.g. https://uk.mathworks.com/help/matlab-parallel-server/use-different-mpi-builds-on-unix-systems.html).
It seems then that it should be possible to run Paramonte using the PCT on multiple Matlab sessions, rather than resorting to 'mpiexec' from a separate terminal maybe? Is this planned?
(I've also emailed Mathworks with a question about this, and will report back what they say...)
Regards,
Arwel
Originally posted by Peku995 July 10, 2023
Hi,
I was wondering what is a suitable acceptance rate for the sampler?
I read online for metropolis hastings it should be between 10% to 60%, but is there a recommendation for Paramonte?
Thanks
Peter
See @fagheri's response for a potential fix to this problem.
Originally posted by Peku995 July 24, 2023
Hi,
I can't delete the output files because it is stated that the files are stille opened in matlab after the simulation finished. is it possible to delete the output files without closing matlab?
Thanks
Could we have a general discussion / examples of how one might implement priors and hyperpriors in the objective function somewhere in the documentation?
The programming language (e.g., all/C/C++/Fortran/Julia/MATLAB/Python/R/...):
all
The operating system (e.g., all/Windows/Linux/macOS/WSL1/WSL2/...):
Linux/macOS
The architecture (e.g., all/x86_x64/Intelx64/ARM/POWER9/...):
x86_x64
Is your feature request related to a problem? Please describe.
The build script currently lacks the ability to automatically build and install the OpenMPI library.
Furthermore, the support for the OpenMPI library in the setup file generation is currently not quite robust and well developed.
Describe the solution you'd like
The kernel build script should accept the name of the MPI library to be used for building the ParaMonte library. It must then be able to check if the requested library exists on the system and if not be able to automatically download and install the library on the system and use the requested MPI library to build ParaMonte and run examples and tests using the requested library.
Describe alternatives you've considered if any
The current solution requires a manual installation of the OpenMPI library which is not optimal.
Apparently it was forgotten to be added to sources list in CMakeLists:
---> Building paramonte
Executing: cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build" && /usr/bin/make -j6 -w all VERBOSE=ON
make: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build'
/opt/local/bin/cmake -S/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/paramonte-1.5.1 -B/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/CMakeFiles /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build//CMakeFiles/progress.marks
/usr/bin/make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build'
/usr/bin/make -f obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/build.make obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/depend
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build'
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/paramonte-1.5.1 /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/paramonte-1.5.1/src/kernel /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/DependInfo.cmake --color=
Dependee "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/DependInfo.cmake" is newer than depender "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/depend.internal".
Dependee "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/depend.internal".
Scanning dependencies of target paramonte_c_darwin_ppc_gnu_release_static_stack
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build'
/usr/bin/make -f obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/build.make obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build'
make[2]: *** No rule to make target `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/paramonte-1.5.1/src/kernel/ParaMonte_mod@[email protected]', needed by `obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/ParaMonte_mod.f90.o'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 1%] Building Fortran object obj/CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/DateTime_mod.f90.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/build/obj && /opt/local/bin/gfortran-mp-12 -pipe -Os -m32 -mmacosx-version-min=10.6 -J../mod -cpp -DGNU_COMPILER_ENABLED -DCFI_ENABLED -DOS_IS_DARWIN -DC_ENABLED -ffree-line-length-none -std=legacy -pthread -fopt-info-all=GFortranOptReport.txt -fauto-inc-dec -fbranch-count-reg -fcombine-stack-adjustments -fcompare-elim -fcprop-registers -fdce -fdefer-pop -fdse -fforward-propagate -fguess-branch-probability -fif-conversion -fif-conversion2 -finline-functions-called-once -fipa-profile -fipa-pure-const -fipa-reference -fipa-reference-addressable -fmerge-constants -fmove-loop-invariants -fomit-frame-pointer -freorder-blocks -fshrink-wrap -fshrink-wrap-separate -fsplit-wide-types -fssa-backprop -fssa-phiopt -ftree-bit-ccp -ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-phiprop -ftree-pta -ftree-scev-cprop -ftree-sink -ftree-slsr -ftree-sra -ftree-ter -funit-at-a-time -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-pre -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-paths -ftree-loop-distribute-patterns -ftree-loop-distribution -ftree-loop-vectorize -ftree-partial-pre -ftree-slp-vectorize -funswitch-loops -fvect-cost-model -fversion-loops-for-strides -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte/work/paramonte-1.5.1/src/kernel/DateTime_mod.f90 -o CMakeFiles/paramonte_c_darwin_ppc_gnu_release_static_stack.dir/DateTime_mod.f90.o
Apparently paramonte
has python
, julia
and matlab
interfaces, but not R
or octave
.
Maybe add those, or at least just R
?
For details, see the discussion by @Peku995 in the above link.
Originally posted by Peku995 August 3, 2023
I have an idea for the upcoming release: At the moment, it is not possible to use a completely finished simulation as a starting point to carry out further iterations from here (at least to my knowledge). At the moment, this is only possible for simulations that are not completely finished. I think it would improve the restart capabilities of Paramonte considerably if you could also start from simulations that have already ended and then simply save the whole thing under a different name.
OpenMPI is a popular implementation beside MPICH. It would be nice if there were parallel builds of Paramonte with OpenMPI.
I'm playing with the example provided with the binary release (libparamonte_fortran_linux_x64_gnu_release_dynamic_heap_openmpi) and I'm not clear how to run in parallel.
In serial mode things seem okay. However, if I do:
./run.sh -n 2
I get this message in stdout (among others):
ParaDRAM - NOTE: ParaDRAM is being used in parallel mode but with only one processor. This is computationally inefficient.
ParaDRAM - NOTE: Consider using the serial version of the code or provide more processes at runtime if it is beneficial.
I get the same result if I change the number of processes, or if I run the program directly, mpiexec -n 2 ./main.exe
.
In reference to openjournals/joss-reviews#2741
R/Fortran, Linux, x86_x64
(Following this issue comment)
I see that Paramonte offers sampling on continuous, Rⁿ spaces. I'd like to request some sampling capability on finite, discrete spaces, and Cartesian products of real and discrete spaces. This kind of sampling is very important for nominal data.
Ordinal data can be sampled by a continuous sampler by introducing a continuous latent variate, and then considering the ordinal variate as an indicator-function over the continuous-variate's space. This also takes care of some degree of smoothing (reflecting an a-priori low expectation of many big jumps) of the probability distribution for the ordinal variate.
But this very smoothing effect is why this kind of latent-variate approach does not work well with nominal data, whose values can in principle be arbitrarily shuffled.
Data of this type occur very frequently in medical applications. Typical medical predictors include nominal data such as presence/absence of particular genes (binary variates, including sex), membership in one or another risk groups that don't have any specific ordering, and similar variates. Often the predictors also include interval and ordinal variates (volumes of internal organs, blood levels, age, Likert scales, and similar). See the example in this preprint.
I am trying to develop an R package for Bayesian nonparametric density inference, especially for use in medicine, that is enough flexible to include all these kinds of variates, and at the same time is as user-friendly as possible, not requiring the clinician to worry about Monte Carlo sampling. Paramonte would be wonderful for this. At the moment my prototype package uses Nimble for Monte Carlo sampling. Nimble offers built-in categorical and Dirichlet/simplex samplers that can be combined with samplers for continuous spaces.
Thank you for this great project!
This does not occur on paramonte
from the main repo from commit 08b5ee7
Something got broken in recent commits to paramonteMatPar
.
[ 5%] Building Fortran object obj/CMakeFiles/paramonte.dir/ParaMonteLogFunc_mod.f90.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte-devel/work/build/obj && /opt/local/bin/mpif90-mpich-gcc12 -Dparamonte_EXPORTS -pipe -Os -m32 -mmacosx-version-min=10.6 -J../mod -fPIC -cpp -DGNU_COMPILER_ENABLED -DCFI_ENABLED "-DPARAMONTE_VERSION=\"'1.5.1'\"" -DOS_IS_DARWIN -DC_ENABLED -DBASIC_TEST_ENABLED -DSAMPLER_TEST_ENABLED -DDLL_ENABLED -DMPI_ENABLED -DOMP_ENABLED -fstack-arrays -ffree-line-length-none -std=legacy -pthread -fopt-info-all=GFortranOptReport.txt -fauto-inc-dec -fbranch-count-reg -fcombine-stack-adjustments -fcompare-elim -fcprop-registers -fdce -fdefer-pop -fdse -fforward-propagate -fguess-branch-probability -fif-conversion -fif-conversion2 -finline-functions-called-once -fipa-profile -fipa-pure-const -fipa-reference -fipa-reference-addressable -fmerge-constants -fmove-loop-invariants -fomit-frame-pointer -freorder-blocks -fshrink-wrap -fshrink-wrap-separate -fsplit-wide-types -fssa-backprop -fssa-phiopt -ftree-bit-ccp -ftree-ccp -ftree-ch -ftree-coalesce-vars -ftree-copy-prop -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-phiprop -ftree-pta -ftree-scev-cprop -ftree-sink -ftree-slsr -ftree-sra -ftree-ter -funit-at-a-time -falign-functions -falign-jumps -falign-labels -falign-loops -fcaller-saves -fcode-hoisting -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fdevirtualize-speculatively -fexpensive-optimizations -fgcse -fgcse-lm -fhoist-adjacent-loads -finline-functions -finline-small-functions -findirect-inlining -fipa-bit-cp -fipa-cp -fipa-icf -fipa-ra -fipa-sra -fipa-vrp -fisolate-erroneous-paths-dereference -flra-remat -foptimize-sibling-calls -foptimize-strlen -fpartial-inlining -fpeephole2 -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -freorder-functions -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fstore-merging -fstrict-aliasing -fthread-jumps -ftree-builtin-call-dce -ftree-pre -ftree-switch-conversion -ftree-tail-merge -ftree-vrp -fgcse-after-reload -fipa-cp-clone -floop-interchange -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-paths -ftree-loop-distribute-patterns -ftree-loop-distribution -ftree-loop-vectorize -ftree-partial-pre -ftree-slp-vectorize -funswitch-loops -fvect-cost-model -fversion-loops-for-strides -fopenmp -shared -fPIC -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte-devel/work/paramonteMatPar-9cf41519b0479f6cc2c1e09ad7f41d22f30483a3/src/kernel/ParaMonteLogFunc_mod.f90 -o CMakeFiles/paramonte.dir/ParaMonteLogFunc_mod.f90.o
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_math_paramonte/paramonte-devel/work/paramonteMatPar-9cf41519b0479f6cc2c1e09ad7f41d22f30483a3/src/kernel/ParaMonteLogFunc_mod.f90:60:24:
60 | type(c_ptr) :: logFunc
| 1
Error: Derived type 'c_ptr' at (1) is being used before it is defined
The programming language (e.g., all/C/C++/Fortran/Julia/MATLAB/Python/R/...):
Fortran
The compiler/interprerter (e.g., none/GNU/Intel/IBM/NAG/Cray/PGI-NVIDIA/Anaconda/...):
GNU
The operating system (e.g., all/Windows/Linux/macOS/WSL1/WSL2/...):
Linux Ubuntu 20.04
The architecture (e.g., all/x86_x64/Intelx64/ARM/POWER9/...):
x86_64
Describe the bug
Paramonte main
fails to build on standard Ubuntu 20 (configures fine with cmake) with error message:
$ make -j 8
Scanning dependencies of target paramonte_c_linux_x64_gnu_release_static_stack
make[2]: *** No rule to make target '../src/kernel/ParaMonte_mod@[email protected]', needed by 'obj/CMakeFiles/paramonte_c_linux_x64_gnu_release_static_stack.dir/ParaMonte_mod.f90.o'. Stop.
make[2]: *** Waiting for unfinished jobs....
[ 1%] Building Fortran object obj/CMakeFiles/paramonte_c_linux_x64_gnu_release_static_stack.dir/DateTime_mod.f90.o
[ 1%] Building Fortran object obj/CMakeFiles/paramonte_c_linux_x64_gnu_release_static_stack.dir/Constants_mod.f90.o
make[1]: *** [CMakeFiles/Makefile2:171: obj/CMakeFiles/paramonte_c_linux_x64_gnu_release_static_stack.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
To Reproduce
$ cmake -DPMCS=GNU ..
$ make -j
Expected behavior
Paramonte main
should build cleanly
Additional context
JOSS review
The programming language (e.g., all/C/C++/Fortran/Julia/MATLAB/Python/R/...): all (python)
The operating system (e.g., all/Windows/Linux/macOS/WSL1/WSL2/...): Windows
The architecture (e.g., all/x86_x64/Intelx64/ARM/POWER9/...): all
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. It would be great to have this new algorithm [...]
Yes, Windows frequently locks the output files from the Paradram sampler if a runtime error occurs.
This happens commonly in interpreted languages where the runtime session keeps running, while the paramonte sampler run
and the corresponding DLL fail for some reason and lock the files with the opened DLL, such that any future runs will not be able to
overwrite the old existing files, because their ownership remains with the original opened DLL.
Describe the solution you'd like
A clear and concise description of what you want to happen.
While there is no remedy for the global windows locks, the sampler could attempt to delete the existing files and if the deletion fails,
it would print a diagnostic message that better describes the nature of the error and the specific solution to it,
which is a reset of the environment (application, python session, matlab, ...) to clear the ownership of the files.
Describe alternatives you've considered if any
A clear and concise description of any alternative solutions or features you've considered.
Currently the messages are somewhat unclear about the cause of the error.
Additional context
Add any other context or screenshots about the feature request here.
This happens frequently in ipython or jupyter notebook sessions.
MatDRAM_run_20220218_184133_901_process_1_report.txt
import paramonte as pm
pmpd = pm.ParaDRAM()
pmpd.readReport("https://github.com/cdslaborg/paramonte/files/8289996/MatDRAM_run_20220218_184133_901_process_1_report.txt")
pmpd.reportList[0].stats.chain # this line is not working
(see the attached image)
The same works in paramonte
MATLAB.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.