aboutsummaryrefslogtreecommitdiff
path: root/Carpet/LoopControl/src/loopcontrol.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Carpet/LoopControl/src/loopcontrol.cc')
-rw-r--r--Carpet/LoopControl/src/loopcontrol.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/Carpet/LoopControl/src/loopcontrol.cc b/Carpet/LoopControl/src/loopcontrol.cc
index 9d9a30130..2a9615607 100644
--- a/Carpet/LoopControl/src/loopcontrol.cc
+++ b/Carpet/LoopControl/src/loopcontrol.cc
@@ -16,6 +16,8 @@
#include <string>
#include <vector>
+#include <unistd.h>
+
#ifdef _OPENMP
# include <omp.h>
#else
@@ -804,8 +806,10 @@ void lc_statistics(CCTK_ARGUMENTS)
if (strlen(statistics_filename) == 0) return;
- string const filename = string(out_dir) + "/" + statistics_filename;
- FILE *const statsfile = fopen(filename.c_str(), "a");
+ char filename[10000];
+ snprintf(filename, sizeof filename,
+ "%s/%s.%06d.txt", out_dir, statistics_filename, CCTK_MyProc(cctkGH));
+ FILE *const statsfile = fopen(filename, "a");
fprintf(statsfile, "\n");
fprintf(statsfile, "LoopControl statistics:\n");
@@ -823,8 +827,8 @@ void lc_statistics(CCTK_ARGUMENTS)
stats->sum * stats->threads / (stats->count * stats->points);
fprintf(statsfile,
" Loop %s (%s:%d): count=%g, avg/thread=%g s, avg/point=%g s\n",
- stats->name.c_str(), stats->file.c_str(), stats->line,
- stats->count, avg_thread, avg_point);
+ stats->name.c_str(), stats->file.c_str(), stats->line,
+ stats->count, avg_thread, avg_point);
}
}
fclose(statsfile);