Skip to content

Commit f0f81f2

Browse files
authored
Merge pull request #152 from eth-cscs/bugfix/math_error_poll_rate
Fix math domain error in decaying poll rate
2 parents 158ee28 + 46a1cf6 commit f0f81f2

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

reframe/frontend/executors/policies.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,14 @@ def __init__(self, min_rate, decay_time):
7878
def _init_poll_fn(self, init_rate):
7979
self._init_rate = init_rate
8080
self._b = self._min_rate
81-
self._a = init_rate - self._b
82-
self._c = math.log(self._a / (self._thres*self._b)) / self._decay
81+
log_arg = (init_rate - self._b) / (self._thres*self._b)
82+
if log_arg < sys.float_info.min:
83+
self._a = 0.0
84+
self._c = 0.0
85+
else:
86+
self._a = init_rate - self._b
87+
self._c = math.log(self._a / (self._thres*self._b)) / self._decay
88+
8389
getlogger().debug('rate equation: %.3f*exp(-%.3f*x)+%.3f' %
8490
(self._a, self._c, self._b))
8591

0 commit comments

Comments
 (0)