commit d3732ea550945d83d54c68a98128387e7cb57b94
parent 960b53372c97c4983dafd019b4a2e6a0905550d8
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Thu, 25 Nov 2021 12:05:55 +0100
Adjust logging when MPI is used
The regular informations and the warnings are logged only on master
process. Errors are logged on all processes.
Diffstat:
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/sdis_log.c b/src/sdis_log.c
@@ -90,9 +90,15 @@ log_info(const struct sdis_device* dev, const char* msg, ...)
va_list vargs_list;
ASSERT(dev && msg);
- va_start(vargs_list, msg);
- log_msg(dev, LOG_OUTPUT, msg, vargs_list);
- va_end(vargs_list);
+#ifdef SDIS_USE_MPI
+ /* Log standard messages only on master process */
+ if(dev->mpi_rank == 0)
+#endif
+ {
+ va_start(vargs_list, msg);
+ log_msg(dev, LOG_OUTPUT, msg, vargs_list);
+ va_end(vargs_list);
+ }
}
void
@@ -101,6 +107,7 @@ log_err(const struct sdis_device* dev, const char* msg, ...)
va_list vargs_list;
ASSERT(dev && msg);
+ /* Log errors on all processes */
va_start(vargs_list, msg);
log_msg(dev, LOG_ERROR, msg, vargs_list);
va_end(vargs_list);
@@ -112,8 +119,14 @@ log_warn(const struct sdis_device* dev, const char* msg, ...)
va_list vargs_list;
ASSERT(dev && msg);
- va_start(vargs_list, msg);
- log_msg(dev, LOG_WARNING, msg, vargs_list);
- va_end(vargs_list);
+#ifdef SDIS_USE_MPI
+ /* Log warnings only on master process */
+ if(dev->mpi_rank == 0)
+#endif
+ {
+ va_start(vargs_list, msg);
+ log_msg(dev, LOG_WARNING, msg, vargs_list);
+ va_end(vargs_list);
+ }
}