A few questions #20
-
Hi everyone, I noticed that parallel tempering is now supported, which is fantastic! I have a few questions about some specific functionalities in the library that I’d love to clarify:
Thanks a lot for your help, and I appreciate all the work that has gone into this project! |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 1 reply
-
Hi, thanks for your interest! 1. Task Naming for LoggingOverloading 2. Progress Logging During ExecutionThe recommended way is to use the If you want to estimate the time your sweeps are taking and how long your simulation will take in total, you can do a premature merge ( A more silly approach (I frequently use) is to look at For debugging, I sometimes insert logging into the 3. Manual Binsize for RebinningYou can set a custom rebinning binsize by setting So one possible workflow would be: To avoid setting the rebin_file = "myjob_rebin_lengths.json"
if isfile(rebin_file)
tm.rebin_length = JSON.parsefile(rebin_file)[current_task_name(tm)]
end which is ignored on the first run and then read once you have created it from your fitting script. Let me know if that is an acceptable workflow (or if you have alternative ideas) 4. Bootstrap Resampling in PostprocessingConcerning the Binder cumulant, last time I calculated crossings used parallel tempering enabled (in the old c++ version) I ran into a similar issue and wrote a small script that calculates it via bootstrap from the HDF5 files. Basically, for now, for bootstrapping or more complicated analyses, you need script it yourself to run on the HDF5 files directly. |
Beta Was this translation helpful? Give feedback.
-
Hi, thank you very much for the quick and detailed response - this is very helpful! Given the workflow you suggested, I think the best approach in my case might indeed be to skip the merge step and perform the analysis directly on the HDF5 files in some script, to handle the autocorrelation & bootstrap resampling. Is there a flag or parameter I can set to bypass the built-in analysis and perform only the MC simulation itself? Thanks again for your help! |
Beta Was this translation helpful? Give feedback.
-
Sounds good. Unfortunately, that flag does not exist, but likely the cost of the analysis is negligible compared to the simulation time, so you can probably ignore it for now. On a side note, I just stumbled on Bootstrap.jl which might be useful. If at the end you come up with something that may be useful to other people (either postprocessing logic or proposals for APIs that help working with HDF5 raw data), we can think about integrating it into Carlo somehow. For now I’m opening some separate issues for the points you mentioned. |
Beta Was this translation helpful? Give feedback.
-
Thank you very much, this sounds good! |
Beta Was this translation helpful? Give feedback.
-
Hi! Just a quick following: Thanks a lot for your help! |
Beta Was this translation helpful? Give feedback.
-
The parameters are not saved there. The recommended workflows are either
The second case is helpful when parameters have complicated values that are hard to reconstruct after they have been serialized to JSON. I have enabled the Discussions feature for this repository, as a space to better fit this kind of Q&A topic. Feel free to open a new discussion for a new question. |
Beta Was this translation helpful? Give feedback.
Hi, thanks for your interest!
1. Task Naming for Logging
Overloading
current_task_name
is not going to work at this point. It sounds like a useful feature to make the logs more easy to understand. Maybe a nice way to implement this feature is to introduce an optional propertytm.taskname
that you can set to change the task name.2. Progress Logging During Execution
The recommended way is to use the
status
command like (julia myjob.jl status
) that will give you a summary of the current progress.If you want to estimate the time your sweeps are taking and how long your simulation will take in total, you can do a premature merge (
julia myjob merge
) and look at the observables_ll_measure_time
…