Parallel iterator built using the fork() system call¶
- class sage.parallel.use_fork.WorkerData(input_value, starttime=None, failure='')[source]¶
Bases:
objectSimple class which stores data about a running
p_iter_forkworker.This just stores three attributes:
input– the input value used by this workerstarttime– the walltime when this worker startedfailure– an optional message indicating the kind of failure
EXAMPLES:
sage: from sage.parallel.use_fork import WorkerData sage: W = WorkerData(42); W <sage.parallel.use_fork.WorkerData object at ...> sage: W.starttime # random 1499330252.463206
>>> from sage.all import * >>> from sage.parallel.use_fork import WorkerData >>> W = WorkerData(Integer(42)); W <sage.parallel.use_fork.WorkerData object at ...> >>> W.starttime # random 1499330252.463206
- class sage.parallel.use_fork.p_iter_fork(ncpus, timeout=0, verbose=False, reset_interfaces=True, reseed_rng=False)[source]¶
Bases:
objectA parallel iterator implemented using
fork().INPUT:
ncpus– the maximal number of simultaneous subprocesses to spawntimeout– float (default: 0); wall time in seconds until a subprocess is automatically killedverbose– boolean (default:False); whether to print anything about what the iterator does (e.g., killing subprocesses)reset_interfaces– boolean (default:True); whether to reset all pexpect interfacesreseed_rng– boolean (default:False); whether or not to reseed the rng in the subprocesses
EXAMPLES:
sage: X = sage.parallel.use_fork.p_iter_fork(2,3, False); X <sage.parallel.use_fork.p_iter_fork object at ...> sage: X.ncpus 2 sage: X.timeout 3.0 sage: X.verbose False
>>> from sage.all import * >>> X = sage.parallel.use_fork.p_iter_fork(Integer(2),Integer(3), False); X <sage.parallel.use_fork.p_iter_fork object at ...> >>> X.ncpus 2 >>> X.timeout 3.0 >>> X.verbose False