[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