[Cook] Cook distributed build with load-balancing system

Pendergraft, Jerry JPendergraft at sjm.com
Thu Sep 4 07:36:46 EST 2008


Try using the #ifdef mechanism ala:

#ifdef parallel
    parallel_jobs = 4;
    parallel_rsh = ./parsub;
    parallel_hosts = host1 host2 host3 host4;
#endif

Jerry Pendergraft                              voice:651-523-6935
St.Jude Medical                                mobil:651-491-0163
Atrial Fibrillation Division                email:jpendergraft at sjm.com
1350 Energy Lane
St.Paul, MN  55108

-----Original Message-----
From: flamtapgt at gmail.com on behalf of Ryan Thompson
Sent: Wed 03-Sep-08 15:34
To: Pendergraft, Jerry
Cc: cook-users at auug.org.au
Subject: Re: [Cook] Cook distributed build with load-balancing system
 
This works well with my environment. Now I would like to make using the
parallel features optional.

So if the command is 'cook' the project will build using the normal options.
If the command is 'cook parallel' the project will build using parallel
builds.

So somehow I need to conditionally set the 'parallel_jobs', 'parallel_rsh',
and 'parallel_hosts' variables only when the target "parallel" is specified
on the command line.

I have tried a number of options but I can't get this to work. Please let me
know how to do this, or at least where to look in the user's guide.

Here's the gist of what I want to do. This doesn't work though (it doesn't
build in parallel).

../bin/myprogram: [OBJ] [INCDIR]
{
    [CC] -o ../bin/[target] [LIBS] [OBJ] ;
}

parallel::
{
    parallel_jobs = 4;
    parallel_rsh = ./parsub;
    parallel_hosts = host1 host2 host3 host4;
    cook ../bin/myprogram
}

Thanks for any help,
-Ryan Thompson


On Wed, Sep 3, 2008 at 3:26 PM, Pendergraft, Jerry <JPendergraft at sjm.com>wrote:

>  -----Original Message-----
> From: cook-users-bounces+jpendergraft=sjm.com at auug.org.au on behalf of
> Ryan Thompson
> Sent: Wed 03-Sep-08 13:26
> To: cook-users at auug.org.au
> Subject: [Cook] Cook distributed build with load-balancing system
>
> > I am interested in using the "virtual machine" ability to run a parallel
> > build in our batch compute environment (Platform LSF, similar to Sun
> Grid,
> > etc.).
>
> >Since this is not rsh or ssh I am not sure how it will work. I think I can
> >point the parallel_rsh variable to a script which does the job submission
> >(similar to using cook_rsh), but I am concerned by this paragraph in
> >"limitations":
>
> >"The exit status of the remote command is not reported in the exit status
> of
> >the rsh(1) command. There are internal contortions used by Cook to obtain
> >the exit status;"
>
> > Can you provide more information on what Cook will look for to determine
> the
> > exit status of the command named in "parallel_rsh"?
>
> The paragraph refers to the inability of rsh to correctly report exit
> status, thus
> the "internal contortions" used by cook were designed to ignore that and
> work around it.
> Thus you should see the correct exit status, no matter what actually farms
> out the command.
>
> Jerry Pendergraft                              voice:651-523-6935
> St.Jude Medical                                mobil:651-491-0163
> Atrial Fibrillation Division                email:jpendergraft at sjm.com<email%3Ajpendergraft at sjm.com>
> 1350 Energy Lane
> St.Paul, MN  55108
>
> >Thanks,
> >-Ryan Thompson
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.auug.org.au/pipermail/cook-users/attachments/20080903/66afba6a/attachment.htm>


More information about the Cook-users mailing list