#2724 closed Defect (fixed)
rewrite northpole folding in the nogather case
Reported by: | smasson | Owned by: | systeam |
---|---|---|---|
Priority: | low | Milestone: | |
Component: | LBC | Version: | trunk |
Severity: | minor | Keywords: | |
Cc: |
Description
Context
There is a list of points which worries me about the nogather folding:
- The code is quite complicated to understand...
- We are sending halos values (which is usually not what should be done in MPI exchanges!) -> We assume that the east-west communications were done before applying the folding
- T, U, V and F grids have the same neighbours, which is strange as the communication patterns are not the same for these grids (there are potential shifts of +/-1). I think we have no error as we send the halos.
- I am not sure if it is really working when nn_hls > 1
- There is a duplication of code between lbc_nfd_nogather_generic.h90 and lbc_nfd_generic.h90
Analysis
- lbc_nfd_generic.h90 was already cleaned to make it compatible with nn_hls > 1 and to make sure we don't use halos values. It can be called independently of the east-west periodicity. We should take advantage of this!
- The idea is to use the "gather" folding during mppini to know which neighbour is sending which data and therefore build a mapping of the communications associated with the folding. This will allow us to skip lbc_nfd_nogather_generic. This strategy is possible as the folding is symmetrical: sending data to neighbour N <-> receiving data from neighbour N.
Beware as the folding is also filling the e-w halos, the number of point exchanged between 2 neighbourgs can be different.
Recommendation
- Limite the size and the number of allocated buffers
- Use mpiwaitall and mpi_Irecv.
- We could also code a "collective neighbourhood" version for the folding.
- change the name of ln_nnogather
Commit History (2)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
15270 | smasson | 2021-09-17T16:27:55+02:00 | trunk: forget some cleaning (remove dom_glo), #2724 |
15267 | smasson | 2021-09-17T11:04:34+02:00 | trunk: new nogather nolding, #2724 |
Change History (5)
comment:1 Changed 3 years ago by smasson
comment:2 Changed 3 years ago by smasson
- Resolution set to fixed
- Status changed from new to closed
comment:3 Changed 3 years ago by acc
Nice one Seb. I can confirm it passes and matches on my system too. Just to be clear: you didn't change the name of ln_nnogather after all?
comment:4 Changed 3 years ago by smasson
no I did not change it (yet...).
I was a little bit afraid of the consequences (-> all the changes to do in sette)
comment:5 Changed 3 years ago by smasson
In 15270:
Note: See
TracTickets for help on using
tickets.
In 15267: