Does anyone know how to change the frequency at which mcmc output is
displayed to the screen? For example, instead of the acceptance rate
reported every 200th mcmc draw, is it possible to have it report every
1000th? Screen output can be time consuming and I am trying to reduce
the time of my simulations.
The options -nox and -iprint seem to have an effect only during the
estimation portion and not during the mcmc.
Thanks,
Allan
_______________________________________________
Users mailing list
Us...@admb-project.org
http://lists.admb-project.org/mailman/listinfo/users
Steve Martell
Martel...@gmail.com
Sent from my iPhone
mymod >NUL
and the screen will display your cerr statements and dump everything else.
Jim Ianelli
NOT sent from my iphone...
That is a great idea to pipe the output. I am actually using the system
command in R to run the simulations and set the option
"show.output.on.console=T" to send the ouptut back to an R object.
A quick comparison showed that this saves about 5% of running time,
which over 200 simulations will save me about an hour.
Thanks again,
Allan
I just ran a simple benchmark, measuring how many seconds it took to run
'catage -mcmc 1e5 -mcsave 1e2':
19.5 in a maximized Dos shell
18.2 in my normal Dos shell (27 rows)
18.1 in a minimized Dos shell
17.5 piping to > mcmc_log.txt
17.4 piping to > NUL
It turns out that the R overhead is surprisingly small:
17.9 system("catage -mcmc 1e5 -mcsave 1e2")
When running multiple models, I have used R to write Dos/Bash shell
script(s) and then run the script(s) in a minimized shell, but altogether
the speed differences above are smaller than I expected.
At the risk of sounding like a scratched record, I will add that by far
the most significant speed improvement is running the same model in Linux:
10.7 in a maximized Bash shell
10.6 in my normal Bash shell
10.0 in a minimized Bash shell
9.8 piping to > mcmc_log.txt
9.8 piping to > /dev/null
9.8 in R
This would save many hours in Allan's case. These results agree with
previous ADMB benchmarks
(http://admb-project.org/community/benchmarks/compilers).
Arni
John
--
John Sibert
Emeritus Researcher, SOEST
University of Hawaii at Manoa
Visit the ADMB project http://admb-project.org/
In the meantime it might be worhtwhile to point out that
this can be done by hand. You create a constant versio of your code
and put all in the PROCEDURE_SECTION as
if (mc_phase())
{
// constant version
}
else
{
// normal code
}
when I did this years ago it was about a 3x speedup.
Maybe not as much now if the ocmpilers are better.