Dear all,
I have been looking into the parallelization of the ROMS model, specifically the case of nested grids. From what I understand, the current processor distribution strategy involves distributing all the grids present in a nesting application across all the processes spawned for that application.
I would like to know if ROMS supports any other distribution strategies, or if we are always required to assign NtileI and NtileJ such that their product is the same for all grids and equals to the number of processors spawned.
Regards,
Chaitanya Patil
Does ROMS support different parallel distribution strategies.
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: Does ROMS support different parallel distribution strategies.
The nested grid algorithms run sequentially, so we are not using split MPI communicators to run concurrently because of the nature of two-way telescoping grid time-stepping. Thus, the NtileI * NtileJ must be the same for each nested grid.
Re: Does ROMS support different parallel distribution strategies.
Thanks for the quick response, Arango.
I understand that parallelism won’t be possible in the time-stepping equations or algorithms. However, my question was more about the distribution of grids across processors.
For example, in the case of telescoping grids, we have a global grid followed by smaller grids with finer resolution. It seems more logical to distribute the processors based on the number of points in each grid, right? Also the two-way exchanges then should be accordingly altered. This would ensure resources are utilized more efficiently.
Is this a valid approach?
I understand that parallelism won’t be possible in the time-stepping equations or algorithms. However, my question was more about the distribution of grids across processors.
For example, in the case of telescoping grids, we have a global grid followed by smaller grids with finer resolution. It seems more logical to distribute the processors based on the number of points in each grid, right? Also the two-way exchanges then should be accordingly altered. This would ensure resources are utilized more efficiently.
Is this a valid approach?
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: Does ROMS support different parallel distribution strategies.
I answered your question precisely. ROMS uses a coarse-grained horizontal parallelization. Thus, NtileI(ig)*Ntile(ig) = ncpus, where ig is the nested grid number. You can have different combinations provided that the product is always ncpus. This is why it is always desirable that the number of grid points in a nested application be a multiple of 2 for all grids to facilitate various partitions. MOD(Lm,2)=0 and MOD(Mm=2)=0. You could use a different divisible number, but you must be consistent with ncpus.