From 8a58fe063fd49e717cf609ef6f0f5a04e26feade Mon Sep 17 00:00:00 2001 From: "Peter W. Draper" <p.w.draper@durham.ac.uk> Date: Thu, 28 Sep 2017 10:31:56 +0100 Subject: [PATCH] Add cell is local to node field to dumpCells output --- src/debug.c | 16 +++++++++------- src/debug.h | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/debug.c b/src/debug.c index ac886fc8d7..fa0cd14a8c 100644 --- a/src/debug.c +++ b/src/debug.c @@ -304,21 +304,24 @@ static void dumpCells_map(struct cell *c, void *data) { if (c->count > 0 || c->gcount > 0 || c->scount > 0) fprintf(file, " %6.3f %6.3f %6.3f %6.3f %6.3f %6.3f %6d %6d %6d %6d " - "%6.1f %20lld %6d %6d %6d %6d\n", + "%6.1f %20lld %6d %6d %6d %6d %6d\n", c->loc[0], c->loc[1], c->loc[2], c->width[0], c->width[1], c->width[2], c->count, c->gcount, c->scount, c->depth, ntasks, c->ti_end_min, get_time_bin(c->ti_end_min), (c->super == c), - cell_is_active(c, e), c->nodeID); + cell_is_active(c, e), c->nodeID, c->nodeID == e->nodeID); } /** * @brief Dump the location, depth, task counts and timebins and active state, * for all cells to a simple text file. * - * @param prefix base output filename + * @param prefix base output filename, result is written to + * <prefix>_<rank>_<step>.dat * @param s the space holding the cells to dump. + * @param rank node ID of MPI rank, or 0 if not relevant. + * @param step the current engine step, or some unique integer. */ -void dumpCells(const char *prefix, struct space *s) { +void dumpCells(const char *prefix, struct space *s, int rank, int step) { FILE *file = NULL; @@ -327,15 +330,14 @@ void dumpCells(const char *prefix, struct space *s) { char fname[200]; int uniq = atomic_inc(&nseq); sprintf(fname, "%s_%03d.dat", prefix, uniq); - file = fopen(fname, "w"); /* Header. */ fprintf(file, "# %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s %6s " - "%20s %6s %6s %6s\n", + "%20s %6s %6s %6s %6s\n", "x", "y", "z", "xw", "yw", "zw", "count", "gcount", "scount", "depth", - "tasks", "ti_end_min", "timebin", "issuper", "active", "rank"); + "tasks", "ti_end_min", "timebin", "issuper", "active", "rank", "local"); uintptr_t data[2]; data[0] = (size_t)file; diff --git a/src/debug.h b/src/debug.h index 20ae8fc2c2..d53fc1b6ea 100644 --- a/src/debug.h +++ b/src/debug.h @@ -36,7 +36,7 @@ void printgParticle_single(struct gpart *gp); int checkSpacehmax(struct space *s); int checkCellhdxmax(const struct cell *c, int *depth); -void dumpCells(const char *prefix, struct space *s); +void dumpCells(const char *prefix, struct space *s, int rank, int step); #ifdef HAVE_METIS #include "metis.h" -- GitLab