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
1960b4d1
Commit
1960b4d1
authored
8 years ago
by
Peter W. Draper
Browse files
Options
Downloads
Patches
Plain Diff
Add simple function to dump the positions and ranks of the top-level cells
Useful to visualize the partition
parent
9c319e94
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/debug.c
+45
-1
45 additions, 1 deletion
src/debug.c
src/debug.h
+5
-0
5 additions, 0 deletions
src/debug.h
with
50 additions
and
1 deletion
src/debug.c
+
45
−
1
View file @
1960b4d1
...
...
@@ -331,4 +331,48 @@ void dumpMETISGraph(const char *prefix, idx_t nvertices, idx_t nvertexweights,
}
}
#endif
#endif
/* HAVE_METIS */
#ifdef HAVE_MPI
/**
* @brief Dump the positions and MPI ranks of the given top-level cells
* to a simple text file.
*
* Can be used to visualise the partitioning of an MPI run. Note should
* be used immediately after repartitioning when the top-level cells
* have been assigned their nodes. Each time this is called a new file
* with the given prefix, a unique integer and type of .dat is created.
*
* @param prefix base output filename
* @param cells_top the top-level cells.
* @param nr_cells the number of cells.
*/
void
dumpCellRanks
(
const
char
*
prefix
,
struct
cell
*
cells_top
,
int
nr_cells
)
{
FILE
*
file
=
NULL
;
/* Name of output file. */
static
int
nseq
=
0
;
char
fname
[
200
];
sprintf
(
fname
,
"%s_%03d.dat"
,
prefix
,
nseq
);
nseq
++
;
file
=
fopen
(
fname
,
"w"
);
/* Header. */
fprintf
(
file
,
"# %6s %6s %6s %6s %6s %6s %6s
\n
"
,
"x"
,
"y"
,
"z"
,
"xw"
,
"yw"
,
"zw"
,
"rank"
);
/* Output */
for
(
int
i
=
0
;
i
<
nr_cells
;
i
++
)
{
struct
cell
*
c
=
&
cells_top
[
i
];
fprintf
(
file
,
" %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6d
\n
"
,
c
->
loc
[
0
],
c
->
loc
[
1
],
c
->
loc
[
2
],
c
->
width
[
0
],
c
->
width
[
1
],
c
->
width
[
2
],
c
->
nodeID
);
}
fclose
(
file
);
}
#endif
/* HAVE_MPI */
This diff is collapsed.
Click to expand it.
src/debug.h
+
5
−
0
View file @
1960b4d1
...
...
@@ -37,6 +37,11 @@ int checkSpacehmax(struct space *s);
#include
"metis.h"
void
dumpMETISGraph
(
const
char
*
prefix
,
idx_t
nvtxs
,
idx_t
ncon
,
idx_t
*
xadj
,
idx_t
*
adjncy
,
idx_t
*
vwgt
,
idx_t
*
vsize
,
idx_t
*
adjwgt
);
#endif
#ifdef HAVE_MPI
void
dumpCellRanks
(
const
char
*
prefix
,
struct
cell
*
cells_top
,
int
nr_cells
);
#endif
#endif
/* SWIFT_DEBUG_H */
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