summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/libmonitor/add-monitor-comm-rank-notification.patch
blob: 52a7d338adeaccfcf7f65a02fc084fd81d8023e5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
--- libmonitor/src/callback.c	2021-04-14 16:48:48.829169067 -0500
+++ libmonitor.fixes1/src/callback.c	2021-04-14 16:54:27.034918247 -0500
@@ -179,3 +179,10 @@
     MONITOR_DEBUG1("(default callback)\n");
     return 0;
 }
+
+void __attribute__ ((weak))
+monitor_mpi_post_comm_rank(void)
+{
+    MONITOR_DEBUG1("(default callback)\n");
+}
+
--- libmonitor/src/monitor.h	2021-04-14 16:48:48.829169067 -0500
+++ libmonitor.fixes1/src/monitor.h	2021-04-14 16:55:21.539716667 -0500
@@ -78,6 +78,7 @@
 extern void monitor_init_mpi(int *argc, char ***argv);
 extern void monitor_fini_mpi(void);
 extern void monitor_mpi_post_fini(void);
+extern void monitor_mpi_post_comm_rank(void);
 
 /*
  *  Monitor support functions.
--- libmonitor/src/mpi_comm_c.c	2021-04-14 16:48:48.853168977 -0500
+++ libmonitor.fixes1/src/mpi_comm_c.c	2021-04-14 16:56:42.468417362 -0500
@@ -35,6 +35,7 @@
     ret = (*real_mpi_comm_size)(comm, &size);
     ret = (*real_mpi_comm_rank)(comm, rank);
     monitor_set_mpi_size_rank(size, *rank);
+    monitor_mpi_post_comm_rank();
 
     return (ret);
 }
--- libmonitor/src/mpi_comm_f0.c	2021-04-14 16:48:48.853168977 -0500
+++ libmonitor.fixes1/src/mpi_comm_f0.c	2021-04-14 17:04:22.915714717 -0500
@@ -34,4 +34,5 @@
     (*real_mpi_comm_size)(comm, &size, ierror);
     (*real_mpi_comm_rank)(comm, rank, ierror);
     monitor_set_mpi_size_rank(size, *rank);
+    monitor_mpi_post_comm_rank();
 }
--- libmonitor/src/mpi_comm_f1.c	2021-04-14 16:48:48.853168977 -0500
+++ libmonitor.fixes1/src/mpi_comm_f1.c	2021-04-14 17:04:28.016695854 -0500
@@ -34,4 +34,5 @@
     (*real_mpi_comm_size)(comm, &size, ierror);
     (*real_mpi_comm_rank)(comm, rank, ierror);
     monitor_set_mpi_size_rank(size, *rank);
+    monitor_mpi_post_comm_rank();
 }
--- libmonitor/src/mpi_comm_f2.c	2021-04-14 16:48:48.853168977 -0500
+++ libmonitor.fixes1/src/mpi_comm_f2.c	2021-04-14 17:04:35.276669009 -0500
@@ -34,4 +34,5 @@
     (*real_mpi_comm_size)(comm, &size, ierror);
     (*real_mpi_comm_rank)(comm, rank, ierror);
     monitor_set_mpi_size_rank(size, *rank);
+    monitor_mpi_post_comm_rank();
 }
--- libmonitor/src/pmpi.c	2021-04-14 16:48:48.853168977 -0500
+++ libmonitor.fixes1/src/pmpi.c	2021-04-15 16:54:08.532018684 -0500
@@ -297,6 +297,7 @@
     ret = (*real_pmpi_comm_size)(comm, &size);
     ret = (*real_pmpi_comm_rank)(comm, rank);
     monitor_set_mpi_size_rank(size, *rank);
+    monitor_mpi_post_comm_rank();
 
     return (ret);
 }
@@ -308,7 +309,8 @@
     MONITOR_GET_REAL_NAME_WRAP(rank_var, rank_fcn);	\
     (*size_var)(comm, &size, ierror);			\
     (*rank_var)(comm, rank, ierror);			\
-    monitor_set_mpi_size_rank(size, *rank);
+    monitor_set_mpi_size_rank(size, *rank);             \
+    monitor_mpi_post_comm_rank();
 
 /*
  * In Fortran, MPI_Comm is always int.