[MITgcm-devel] thsice is reeeeeeeeeally scalar!

Martin Losch Martin.Losch at awi.de
Fri Sep 28 04:08:47 EDT 2007


Hi there,

in my crusade to turn the MITgcm into a true vector code I noticed  
that the thsice package would require a lot of work. I have attached  
(in a gzipped tar-ball), the output  of a comparison between runs  
with seaice+thsice and seaice only. The domain is 243x170x33 (Rüdiger  
Gerdes' Arctic Ocean configuration from AOMIP), and I integrate for  
10 days with deltaT=900sec, so 960 timesteps.
If you have a look at ftrace.txt_thsice and ftrace.txt_seaice (from  
flow trace analyses) you'll notice a few things:
1. mom_calc_visc is by far the most expensive routine, probably  
because I use the Leith scheme; I use a slightly lower optimization - 
Cvopt, instead of -Chopt for this routine, but I find this still  
surprising. I would have expected cg2d to be the top runner.
2. all routines that start with thsice_* have zero vector operation  
ratio, and from the MFLOPS you can see that they are really slow  
because of that.
3. exception seaice_advection (V. OP. Ratio = 83%) vectorises worse  
than thsice_advection (99.53%). I have no idea why.
4. everything else looks decent except for the exch_rl_send/recv  
routines. I am not touching them without detailed instructions.

As a consequence the seaice+thsice is slower (692sec vs. 558sec,  
stdout.*). The excess time is spend in THSICE_MAIN (146.91sec, as  
opposed to seaice_growth+seaice_advdiff = 31.48-13.21=18.27sec).

I don't want to undertake the huge task of vectorizing thsice, but  
why is seaice_advection so different from thsice_advection (Jean- 
Michel?).

Martin

CC to Jens-Olaf, although he cannot reply to this list, I guess (just  
MITgcm-support at mitgcm.org).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: thsice.tgz
Type: application/octet-stream
Size: 195921 bytes
Desc: not available
URL: <http://mitgcm.org/pipermail/mitgcm-devel/attachments/20070928/09980227/attachment.obj>
-------------- next part --------------




More information about the MITgcm-devel mailing list