Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SWIFT
SWIFTsim
Commits
1960b4d1
Commit
1960b4d1
authored
Oct 26, 2016
by
Peter W. Draper
Browse files
Add simple function to dump the positions and ranks of the top-level cells
Useful to visualize the partition
parent
9c319e94
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/debug.c
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 */
src/debug.h
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 */
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment