swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Followup Drone Questions: Swarm Program Version and output control


From: Rick Riolo
Subject: Re: Followup Drone Questions: Swarm Program Version and output control
Date: Wed, 30 Jun 1999 15:30:52 -0400 (EDT)

paul,
here are some answers, ted may chime in with better ones later:

for the version stuff, you can tell drone not to ask:

   param getProgramVersion = 0

As for where the output goes, well, it goes into a directory
that is named based on 
   expdata-dir/experiment-number/parameter-case/
The idea is that all runs with the same parameter settings
(except for different rng seeds) put their output into the same directory,
and that directory name reflects values of the parameters being swept,
or if there is no sweeping, just into one directory.
Then if you do multiple runs with with same parameters but
different rng seeds, that is where the run numbers come in.
They are passed to the application program, and its up to
that program to use the run number to construct output files
with unique names, eg
 output.00  from run 0
 output.01  from run 1
and so on.

I'm sure you can dig into the drone script and tell it
not put the seed, run number, etc on the command line
of the application.   

But better, as ted suggested, you should write a wrapper
that just absorbs all those from drone, but then
starts your program with just the parameters it wants.
I believe the drone distribution comes with an example
wrapper (for a GP package) which you should be able to
easily modify and use with your app.

I hope this helps.  as I said, maybe ted will chime in too.

- r


Rick Riolo                           address@hidden
Center for Study of Complex Systems (CSCS)
4477 Randall Lab                
University of Michigan         Ann Arbor MI 48109-1120
Phone: 734 763 3323                  Fax: 734 763 9267
http://www.pscs.umich.edu/PEOPLE/rlr-home.html

On Wed, 30 Jun 1999, Paul Johnson wrote:

> Date: Wed, 30 Jun 1999 14:15:39 -0500
> From: Paul Johnson <address@hidden>
> Reply-To: address@hidden
> To: swarm <address@hidden>
> Subject: Followup Drone Questions: Swarm Program Version and output control
> 
> OK, so I'm starting to find my way around Drone and to make it work with
> Swarm.  But I've run into more little problems and figure someone might
> help me out.  These things are just very hard to diagnose, I think.  I
> have found, I believe, that by replacing -D in the ctrl file with --, I
> can pass any long form swarm argument to my program.  Thanks to Ted for
> that hint.
> 
> Recall I want to make a simple example, with a program that responds to
> a command like "./protest --numppl=44". The program outputs a few lines
> of data in ascii form and some pixmaps.  I want to sweep over the
> parameter numppl.
> 
> I'd like to stop Drone from trying to pass in all that other stuff--the
> Run number, Random seed, and so forth.  Possible? 
> 
>  Here are the details:
> 
> Problem 1: Trying to make Drone forget about the program version.
> Anyway, I've succeeded so far in getting drone to run the simulation one
> time, but it always crashes before it tries a second time. The error
> messages center on Version numbering and local commands. My program is
> called "protest". When I do "protest -V", I get:
> 
> protest [no application version] (Swarm 1.4.1)
>  
> I haven't succeeded in using the setVersion method in Arguments to
> change this, don't even know if it is meant for that.  
> 
> Drone by default wants to check the version of the program. The weird
> thing is that the simulation runs once or twice, then crashes saying:
> 
> GetProgramVersion: Error parsing program version.
> 
> (The when it runs, however, the program ignores the input line
> parameters.)
> 
> That happens when I let the default settings be.
> 
> If I reset the drone control file to try to make it ignore the version,
> I get this other error
> 
> Reading control file...
> Initializing...
> Running...
> 
> DoLocalCmd: child process exited abnormally
> 
> This happens when my control file looks like this (here are the top
> sections)
> 
> #
> # This section sets Drone's parameters
> 
> # These parameters MUST be set up by the user
> 
> param rootDir = /swarm/test/trashdrone
> param programDir = /swarm/ContagiousProtest/CP-990628
> param programName = protest
> 
> # Frequently set parameters
> param numRuns = 2
> param emailAddr = address@hidden
> param experimentSeed =
> param useLocalHost = 1
> param programVersion =
> 
> param getProgramVersion = 0
> param versionOptions = -V
> param makeInputFile = 1
> param inputFileOption = -I
> param runSeedOption = -S
> param runNumOption = -N
> param runNumPrefix = run 
> param setParamOption = --
> param miscOptions = -s
> 
> # Pathnames
> param seriesLogDir = $rootDir/examples/stublet/seriesLogDir
> param seriesLogFile = drone.log
> param outputControlDir = $rootDir/examples/stublet/controlDir
> param outputControlFile = 
> param outputLogDir = $rootDir/examples/stublet/outputLogDir
> param outputLogFile = 
> param hostDir = $rootDir/examples/stublet
> param hostFile = stublet.hosts
> param experimentDir = $rootDir/examples/stublet/experimentDir
> param experimentName = 
> 
> 
> What do you think is up with this?
> 
> 
> Problem 2: output control.  Suppose a Swarm program is written to output
> pixmap screenshots. I think by default it uses the current directory. 
> If I run a sum under Drone, does it automatically save them in the
> output directory that I specify? Or am I supposed to do something in the
> Swarm program to tell them to write in the experiment directory? 
> 
> -- 
> Paul E. Johnson                       email: address@hidden
> Dept. of Political Science            http://lark.cc.ukans.edu/~pauljohn
> University of Kansas                  Office: (785) 864-9086
> Lawrence, Kansas 66045                FAX: (785) 864-5700
> 
>                   ==================================
>    Swarm-Support is for discussion of the technical details of the day
>    to day usage of Swarm.  For list administration needs (esp.
>    [un]subscribing), please send a message to <address@hidden>
>    with "help" in the body of the message.
> 
> 


                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]