Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
SWIFTsim
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SWIFT
SWIFTsim
Commits
3b1cef15
Commit
3b1cef15
authored
5 years ago
by
Peter W. Draper
Browse files
Options
Downloads
Patches
Plain Diff
Add some documentation
parent
780021e6
No related branches found
No related tags found
1 merge request
!861
Add logging for task MPI requests
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
doc/RTD/source/AnalysisTools/index.rst
+36
-1
36 additions, 1 deletion
doc/RTD/source/AnalysisTools/index.rst
src/memuse_rnodes.c
+1
-1
1 addition, 1 deletion
src/memuse_rnodes.c
with
37 additions
and
2 deletions
doc/RTD/source/AnalysisTools/index.rst
+
36
−
1
View file @
3b1cef15
...
...
@@ -29,7 +29,7 @@ With chrome, you cannot access the files directly, you will need to either acces
or install ``npm`` and then run the following commands
.. code-block:: bash
npm install http-server -g
http-server .
...
...
@@ -68,3 +68,38 @@ the step, and the total memory still in use per label. Note this includes
memory still active from previous steps and the total memory is also continued
from the previous dump.
MPI task communication reports
------------------------------
When SWIFT is configured using the ``--enable-mpiuse-reports`` flag it will
log any all asynchronous MPI communications made to send particle updates
between nodes to support the tasks.
The output files are called ``mpiuse_report-rank<m>-step<n>.dat``, i.e. one
per rank per step. These have a line for each request for communication, either
an MPI_Irecv or MPI_Isend and a line for the subsequent completion (successful
MPI_Test).
Each line of the logs contains the following information:
.. code-block:: none
stic: ticks since the start of this step
etic: ticks since the start of the simulation
dtic: ticks that the request was active
step: current step
rank: current rank
otherrank: rank that the request was sent to or expected from
type itype: task type as string and enum
subtype isubtype: task subtype as string and enum
activation: 1 if record for the start of a request, 0 if request completion
tag: MPI tag of the request
size: size, in bytes, of the request
sum: sum, in bytes, of all requests that are currently not logged as complete
The stic values should be synchronized between ranks as all ranks have a
barrier in place to make sure they start the step together, so should be
suitable for matching between ranks. The unique keys to associate records
between ranks (so that the MPI_Isend and MPI_Irecv pairs can be identified)
are "rank/otherrank/type/subtype/tag/size" and
"otherrank/rank/type/subtype/tag/size".
This diff is collapsed.
Click to expand it.
src/memuse_rnodes.c
+
1
−
1
View file @
3b1cef15
...
...
@@ -18,7 +18,7 @@
******************************************************************************/
/**
* @file memuse_rnode.c
* @file memuse_rnode
s
.c
* @brief file of routines used for radix nodes in memory loggers.
*/
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment