[MITgcm-devel] [MITgcm-cvs] MITgcm/doc CVS Commit

Martin Losch Martin.Losch at awi.de
Fri Oct 19 08:01:53 EDT 2012


Hi Jean-Michel,

as far as I can see, there are two set of loops over ktl,jtl,itl in exch_put_r2.F.
- New code (r1.4): The innermost loop (over ijt) vectorizes, as you might have expected 
- Old code (r1.3: with W2_USE_E2_SAFEMODE defined the loops do not vectorize, with W2_USE_E2_SAFEMODE, the code does vectorize, and without having run a timing test, it looks very much like the new code  

I ran the CS150 with 6 cpu (on per face) with exch2_put_rx2.template version 1.4 (SAFEMODE defined) and 1.3 (SAFEMODE undefined) with a simple ftrace analysis and am getting this:
FREQUENCY  EXCLUSIVE       AVER.TIME    MOPS  MFLOPS V.OP  AVER.   VECTOR I-CACHE O-CACHE    BANK  PROG.UNIT           TIME[sec](  % )    [msec]                 RATIO V.LEN    TIME   MISS    MISS      CONF

  1311552   271.006(  2.7)     0.207  6305.2   166.1 95.55  99.5  268.974  1.1314  0.1703  0.0397  exch2_put_rl2 (r1.4)
  1311552    60.982(  0.6)     0.046  2552.4   738.3 57.95  15.5   59.130  1.0930  0.0497  0.0649  exch2_put_rl2 (r1.4 W2_USE_E2_SAFEMODE undefined)
  1311552    54.211(  0.6)     0.041  2867.8   830.5 57.91  15.5   52.802  0.2240  0.4724  0.0663  exch2_put_rl2 (r1.3 W2_USE_E2_SAFEMODE undefined)

The r1.3 with W2_USE_E2_SAFEMODE takes longer, but crashed due to my incapability to request more than half an hour in the queue. (the other tests took about 1600sec). I  queued it again, but suddenly the queue is full and the job is waiting. I am not sure, if I will get an answer today.

with undefining W2_USE_E2_SAFEMODE  in r1.4 I am faster because there is no more function call (MIN) in the loop. While this does not break the vectorisation, it slows down the excution of the loop.

Martin




On Oct 11, 2012, at 3:12 PM, Jean-Michel Campin wrote:

> Hi Martin,
> 
> Coming back to this test (the MAX_NR_EXCH issue remember be this question). 
> And sorry, I was not clear.
> I meant just to see how subroutines exch2_put_r?1.F and exch2_put_r?2.F
> vectorize with and without W2_USE_E2_SAFEMODE, in the new
> version and also in the old version.
> So, no need to run testreport, but it would involve also to get
> the previous version of these 2 files (one, for instence the rl one
> is enough).
> 
> What I am hoping is to get a good vectorization with the
> W2_USE_E2_SAFEMODE defined, as good as the the previous version 
> with W2_USE_E2_SAFEMODE undef, and better than the previous version
> with W2_USE_E2_SAFEMODE defined.
> 
> Thanks,
> Jean-Michel
> 
> On Mon, Sep 24, 2012 at 12:24:50PM +0200, Martin Losch wrote:
>> Hi Jean-Michel,
>> 
>> not sure, if this is what you had in mind. I used the latest routine test (Sun Sep 23 02:19:38), set W2_USE_E2_SAFEMODE to undefined in pkg/exch2, then make clean && make in pkg/exch2 then I reran the testreport with "-q".
>> The results have no difference at all. Let me know, if this is not what you had in mind.
>> 
>> Martin
>> 
>> On Sep 17, 2012, at 2:46 PM, Jean-Michel Campin wrote:
>> 
>>> Hi Martin,
>>> 
>>> If you have time, I would be curious to know if these changes make
>>> some difference on a vector machine, for both cases, i.e., with and
>>> without W2_USE_E2_SAFEMODE defined.
>>> 
>>> Thanks,
>>> Jean-Michel
>>> 
>>> On Sat, Sep 15, 2012 at 07:01:51PM -0400, Jean-Michel Campin wrote:
>>>> Update of /u/gcmpack/MITgcm/doc
>>>> In directory forge:/tmp/cvs-serv5340
>>>> 
>>>> Modified Files:
>>>> 	tag-index 
>>>> Log Message:
>>>> pkg/exch2: improve W2_USE_E2_SAFEMODE (faster) and W2_E2_DEBUG_ON
>>>> 
>>>> 
>>>> _______________________________________________
>>>> MITgcm-cvs mailing list
>>>> MITgcm-cvs at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-cvs
>>> 
>>> _______________________________________________
>>> MITgcm-devel mailing list
>>> MITgcm-devel at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
>> 
>> 
>> _______________________________________________
>> MITgcm-devel mailing list
>> MITgcm-devel at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> 
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel




More information about the MITgcm-devel mailing list