@@ -19,10 +19,13 @@ from mpi4py import MPI
19
19
if __name__ == "__main__" :
20
20
opt = docopt (__doc__ )
21
21
22
+ import logging
22
23
import os
23
- import sys
24
24
import time
25
25
26
+ logger = logging .getLogger (__name__ )
27
+ logger .setLevel (os .getenv ("NEST_SERVER_MPI_LOGGER_LEVEL" , "INFO" ))
28
+
26
29
import nest
27
30
import nest .server
28
31
@@ -35,17 +38,18 @@ rank = comm.Get_rank()
35
38
36
39
def log (call_name , msg ):
37
40
msg = f"==> WORKER { rank } /{ time .time ():.7f} ({ call_name } ): { msg } "
38
- print (msg , flush = True )
41
+ logger . debug (msg )
39
42
40
43
41
44
if rank == 0 :
42
- print ("==> Starting NEST Server Master on rank 0" , flush = True )
45
+ logger . info ("==> Starting NEST Server Master on rank 0" )
43
46
nest .server .set_mpi_comm (comm )
44
47
nest .server .run_mpi_app (host = opt .get ("--host" , HOST ), port = opt .get ("--port" , PORT ))
45
48
46
49
else :
47
- print (f"==> Starting NEST Server Worker on rank { rank } " , flush = True )
50
+ logger . info (f"==> Starting NEST Server Worker on rank { rank } " )
48
51
nest .server .set_mpi_comm (comm )
52
+
49
53
while True :
50
54
log ("spinwait" , "waiting for call bcast" )
51
55
call_name = comm .bcast (None , root = 0 )
70
74
try :
71
75
response = call (* args , ** kwargs )
72
76
except Exception :
77
+ logger .error ("Failed to execute call" )
73
78
continue
74
79
75
- log (call_name , f"sending reponse gather, data={ response } " )
80
+ log (call_name , f"sending response gather, data={ response } " )
76
81
comm .gather (nest .serializable (response ), root = 0 )
0 commit comments