Am 01.03.2014 um 00:17 schrieb Andrew Joplin:

> Correct.  In qstat I see the qmake job itself on one node, and a single sh 
> job that gets scheduled to a different node.  In the output of "ps -e f" on 
> the 1st node (where qmake is running) I see a single qrsh process, and the 
> corresponding sh process on the other node.
> 
> Can you explain what you mean by "the rule isn't parallized"?  I thought if 
> it works in parallel with make, it's "parallelized"...

`make` 3.82 also works correctly when being called on the command line (BTW 
which version do you have there?).

Maybe the hooks put into `make` were not the same as for the older version and 
something got screwed up; and/or the remote-calls are not made correctly by 
`make`.

What is the output when you add -d:

 $ qmake -V -cwd -- -d -f Makefile -j 2 today.slp yesterday.slp

-- Reuti


> Andrew Joplin
> Space and Geophysics Lab
> Applied Research Laboratories - The University of Texas at Austin
> (512) 835-3050
> 
> 
> On 02/28/2014 04:58 PM, Reuti wrote:
>> Am 28.02.2014 um 23:56 schrieb Andrew Joplin:
>> 
>>> SoGE is using gmake 3.82 as well.  If this is an actual bug, do you have 
>>> any suggestions regarding a workaround?  I've tried to eliminate my need to 
>>> call shell functions in the makefile, but haven't figure out how to do away 
>>> with them.
>> I don't think that the problem is the used shell function, but that the rule 
>> isn't parallelized. In:
>> 
>> $ ps -e f
>> 
>> on the node in question, resp.:
>> 
>> $ qstat
>> 
>> you see only one job running / being submitted?
>> 
>> -- Reuti
>> 
>> 
>>> Thanks!
>>> 
>>> Andrew Joplin
>>> 
>>> 
>>> On 02/28/2014 04:34 PM, Reuti wrote:
>>>> Am 28.02.2014 um 23:20 schrieb Andrew Joplin:
>>>> 
>>>>> $ qmake --version
>>>>> GNU Make 3.82
>>>>> Built for x86_64-unknown-linux-gnu (distributed make
>>>>> load balancing by Grid Engine
>>>>> )
>>>>> Copyright (C) 2010  Free Software Foundation, Inc.
>>>>> License GPLv3+: GNU GPL version 3 or 
>>>>> later<http://gnu.org/licenses/gpl.html>
>>>>> This is free software: you are free to change and redistribute it.
>>>>> There is NO WARRANTY, to the extent permitted by law.
>>>>> 
>>>>> The version at the end of the qmake man page is:
>>>>> 
>>>>> OGS/Grid Engine 2011.11  $Date: 2007/07/19 09:04:30 $                
>>>>> QMAKE(1)
>>>>> 
>>>>> Is this an old bug that's been fixed?
>>>> No, a new one which was introduced I fear. I get (forgot to mention):
>>>> 
>>>> $ qmake --version
>>>> GNU Make version 3.78.1-distributed make
>>>> load balancing by Grid Engine
>>>> 
>>>> 
>>>> I'm not sure which version the SoGE fork is using, but it's worth to try:
>>>> 
>>>> https://arc.liv.ac.uk/trac/SGE
>>>> 
>>>> -- Reuti
>>>> 
>>>> 
>>>>> Andrew Joplin
>>>>> 
>>>>> 
>>>>> On 02/28/2014 03:55 PM, Reuti wrote:
>>>>>> Am 28.02.2014 um 20:37 schrieb Andrew Joplin:
>>>>>> 
>>>>>>> I've come up with a simple example to illustrate this problem.  I think 
>>>>>>> it's not so much an implicit rule problem as it is using a shell 
>>>>>>> function within the makefile:
>>>>>>> 
>>>>>>> Makefile:
>>>>>>> 
>>>>>>> x=$(shell date -d $(*F) +"%H%M%S")
>>>>>>> %.slp:
>>>>>>>     echo $(x) ; sleep 30 ; touch $@
>>>>>>> 
>>>>>>> Running with make starts both targets simultaneously as it should:
>>>>>>> 
>>>>>>> $ make -f Makefile -j 2 today.slp yesterday.slpecho 133400 ; sleep 30 ; 
>>>>>>> touch today.slp
>>>>>>> 133400
>>>>>>> echo 133400 ; sleep 30 ; touch yesterday.slp
>>>>>>> 133400
>>>>>>> 
>>>>>>> But running with qmake only spawns a single qsh job:
>>>>>>> 
>>>>>>> $ qmake -V -cwd -- -f Makefile -j 2 today.slp yesterday.slp
>>>>>>> qmake: *** cannot determine architecture from environment variable 
>>>>>>> SGE_ARCH
>>>>>>>            no default architecture set
>>>>>>> echo 133523 ; sleep 30 ; touch today.slp
>>>>>>> dynamic mode
>>>>>> For me it's working as intended (but I have still SGE 6.2u5).
>>>>>> 
>>>>>> What is the output of.
>>>>>> 
>>>>>> $ qmake --version
>>>>>> 
>>>>>> -- Reuti
>>>>>> 
>>>>>> 
>>>>>>> Does the use of the shell function somehow prevent qmake from running 
>>>>>>> in parallel?
>>>>>>> Andrew Joplin
>>>>>>> 
>>>>>>> On 02/27/2014 05:35 PM, Andrew Joplin wrote:
>>>>>>>> Newbie again with a qmake question.  I have several analysis jobs that 
>>>>>>>> I run with qmake (each rule processes data and generates some output 
>>>>>>>> file).  Some of my makefiles have all explicit rules, and they run 
>>>>>>>> fine in dynamic allocation mode.  But a couple newer makefiles use a 
>>>>>>>> couple implicit rules, and it does run on our cluster, but only one 
>>>>>>>> target at a time.
>>>>>>>> 
>>>>>>>> The syntax I'm using is:
>>>>>>>> 
>>>>>>>> $ qmake -V -cwd -- -f Makefile -j 20 --keep-going
>>>>>>>> 
>>>>>>>> I've already tried running with make instead, and it uses as many 
>>>>>>>> threads as I tell it.  Any ideas?  I'll try to work up a simplified 
>>>>>>>> test makefile.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> users mailing list
>>>>>>>> 
>>>>>>>> [email protected]
>>>>>>>> https://gridengine.org/mailman/listinfo/users
>>>>>>> _______________________________________________
>>>>>>> users mailing list
>>>>>>> [email protected]
>>>>>>> https://gridengine.org/mailman/listinfo/users
> 


_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to