Page 1 of 1

Command Line Arguments to MARK

PostPosted: Tue Oct 23, 2012 5:04 pm
by bcwhiteok
I feel like I'm missing something simple here. I have done due diligence searching for the command line options to MARK (mark -h, mark --help, phidot forums and Google). The documentation says I can run from the command line, but all I've discovered so far is by digging through the RMark package R source code. In particular, I am interested in getting MARK to run on supercomputers to help some biologists explore large data sets by throwing processors at the problem (multithreaded, multicore). Any help or pointers? Thanks,

Bill C. White, MS
Research Associate Programmer
University of Tulsa
Tandy School of Computer Science
http://insilico.utulsa.edu/

Re: Command Line Arguments to MARK

PostPosted: Tue Oct 23, 2012 6:49 pm
by cooch
bcwhiteok wrote:I feel like I'm missing something simple here. I have done due diligence searching for the command line options to MARK (mark -h, mark --help, phidot forums and Google). The documentation says I can run from the command line, but all I've discovered so far is by digging through the RMark package R source code. In particular, I am interested in getting MARK to run on supercomputers to help some biologists explore large data sets by throwing processors at the problem (multithreaded, multicore). Any help or pointers? Thanks,

Bill C. White, MS
Research Associate Programmer
University of Tulsa
Tandy School of Computer Science
http://insilico.utulsa.edu/


There aren't any CL options, per se, other than i= and o= to pipe an input and output file. RMark is a pre- and post-processing environment that controls what is input to mark.exe, and parses out interesting stuff from the output. Threads and cores are automatically detected/used by mark.exe. At most you can control how many threads are being utilized.

People have come up with a variety of ways to run multiple jobs simultaneously, which can be helpful (likely running multiple MCMC chains on multiple processors - single chain per processor). I've done that on the Linux version of MARK, where I can script MARK to run a set of K models (on a machine where I have K processors), out of the overall set of models. Under normal Windows operation, MARK processes models sequentially. Eldar has come up with some R code to do analogous things under Windows. See following, for example.

viewtopic.php?f=21&t=1781&p=5373&hilit=multicore#p5373

Re: Command Line Arguments to MARK

PostPosted: Tue Oct 23, 2012 7:23 pm
by bcwhiteok
Thanks for the clarification. I guess I am more interested in reducing http://en.wikipedia.org/wiki/Wall_time for the core program/algorithms, versus http://en.wikipedia.org/wiki/Embarrassingly_parallel applications. Sounds like you are on top of it!

Re: Command Line Arguments to MARK

PostPosted: Tue Feb 19, 2013 4:54 pm
by Eldar
Bill,
mark.wrapper.parallel() in RMark can run models in parallel. It uses r package snow now but can be easily changed to use of "parallel" R package. After that you can use it with MPI under Linux and set every MARK internal to run one on the specific node and at the same time inside MARK to utilize all cores form that node.
Cheers,
Eldar