39 use mpi_f08,
only : mpi_bcast, mpi_logical, mpi_wtime
56 real(kind=
dp) :: jobtime
71 character(len=*),
intent(in) :: limit_str
72 real(kind=
rp) :: limit_sec
97 character(len=LOG_SIZE) :: log_buf
103 write(log_buf,
'(A)')
'! stop at job limit >>>'
108 call mpi_bcast(jstop, 1, mpi_logical, 0,
neko_comm, ierr)
114 real(kind=
rp),
save :: stime
115 real(kind=
rp) :: jobtime
116 logical,
save :: init = .false.
123 jobtime = mpi_wtime() - stime
type(mpi_comm), public neko_comm
MPI communicator.
subroutine jobctrl_set_time_limit_str(limit_str)
Set a job's time limit from a duration string.
logical function, public jobctrl_time_limit()
Check if the job's time limit has been reached.
real(kind=rp) function, public jobctrl_jobtime()
Returns a job's time in seconds relative to the first call.
subroutine jobctrl_set_time_limit_sec(sec)
Set a job's time limit (in seconds)
subroutine, public jobctrl_init()
Initialize jobctrl.
integer, parameter, public neko_log_quiet
Always logged.
type(log_t), public neko_log
Global log stream.
integer, parameter, public log_size
integer, parameter, public dp
integer, parameter, public rp
Global precision used in computations.
Interface to signal handler.
subroutine, public signal_set_timeout(sec)
Set a timeout after seconds.
logical function, public signal_usr(usr)
Check if a user signal has been raised.
subroutine, public signal_trap_usr()
Initialize signal handler to trap SIGUSR1 and SIGUSR2.
logical function, public signal_timeout()
Check if any timeout has occurred (either SIGXCPU or SIGALRM)
subroutine, public signal_trap_cpulimit()
Initialize signal handler to trap SIGXCPU.