forked from CESM-Development/cime
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ca6b558
commit e207ef0
Showing
2 changed files
with
33 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,42 @@ | ||
# Using pioperf to Measure Performance | ||
|
||
To run pioperformance you need a dof input file. I have a whole repo | ||
of them here: | ||
https://svn-ccsm-piodecomps.cgd.ucar.edu/trunk | ||
|
||
You need an input namelist: | ||
|
||
&pioperf | ||
decompfile= '/gpfs/fs1/work/jedwards/sandboxes/piodecomps/576/piodecomp576tasks03dims01.dat', | ||
pio_typenames = 'pnetcdf' | ||
rearrangers = 1,2 | ||
nframes = 1 | ||
nvars = 1 | ||
niotasks = 64, 32, 16 | ||
/ | ||
&pioperf | ||
decompfile= '/gpfs/fs1/work/jedwards/sandboxes/piodecomps/576/piodecomp576tasks03dims01.dat', | ||
pio_typenames = 'pnetcdf' | ||
rearrangers = 1,2 | ||
nframes = 1 | ||
nvars = 1 | ||
niotasks = 64, 32, 16 | ||
/ | ||
|
||
in the namelist all of the inputs are arrays and it will test all | ||
combinations of the inputs. You need to run it on the number of tasks | ||
specified by the input dof There are also some options to use simple | ||
generated dof's instead of files. | ||
|
||
## Testing | ||
|
||
For the automated test you can generate a decomp internally by setting | ||
decompfile="ROUNDROBIN", or decompfile="BLOCK" | ||
|
||
They call init_ideal_dof which internally generates a dof as follows: | ||
|
||
if(doftype .eq. 'ROUNDROBIN') then | ||
do i=1,varsize | ||
compmap(i) = (i-1)*npe+mype+1 | ||
enddo | ||
else if(doftype .eq. 'BLOCK') then | ||
do i=1,varsize | ||
compmap(i) = (i+varsize*mype) | ||
enddo | ||
endif | ||
|
||
The size of the variable is npes*varsize where varsize can be set in | ||
the namelist. | ||
|