job_distributors

Bindings for protocols::jd3::job_distributors namespace

class pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor

Bases: pybind11_object

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) -> None

  2. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, arg0: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) -> None

_pybind11_conduit_v1_()
assign(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, : pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor

C++: protocols::jd3::job_distributors::JobExtractor::operator=(const class protocols::jd3::job_distributors::JobExtractor &) –> class protocols::jd3::job_distributors::JobExtractor &

complete(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) bool

C++: protocols::jd3::job_distributors::JobExtractor::complete() const –> bool

get_initial_job_dag_and_queue(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) pyrosetta.rosetta.protocols.jd3.JobDigraph

C++: protocols::jd3::job_distributors::JobExtractor::get_initial_job_dag_and_queue() –> class std::shared_ptr<class protocols::jd3::JobDigraph>

job_queue_empty(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) bool

C++: protocols::jd3::job_distributors::JobExtractor::job_queue_empty() const –> bool

jobs_remain(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) bool

C++: protocols::jd3::job_distributors::JobExtractor::jobs_remain() –> bool

load(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, arc: pyrosetta.rosetta.cereal.BinaryInputArchive) None

C++: protocols::jd3::job_distributors::JobExtractor::load(class cereal::BinaryInputArchive &) –> void

not_done(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) bool
Should the JobDistributor keep going based on there being jobs in the job queue,

or outstanding jobs that have not completed, or nodes that have not yet been marked as completed, or the JobQueen providing new nodes in the JobDAG

C++: protocols::jd3::job_distributors::JobExtractor::not_done() –> bool

note_job_no_longer_running(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, job_id: int) None

C++: protocols::jd3::job_distributors::JobExtractor::note_job_no_longer_running(unsigned long) –> void

pop_job_from_queue(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) pyrosetta.rosetta.protocols.jd3.LarvalJob

C++: protocols::jd3::job_distributors::JobExtractor::pop_job_from_queue() –> class std::shared_ptr<class protocols::jd3::LarvalJob>

push_job_to_front_of_queue(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, job: pyrosetta.rosetta.protocols.jd3.LarvalJob) None
The JD is allowed to pull jobs out of the queue and then

to reinsert them back into the queue, e.g., as it might do when it has recovered from a checkpoint and needs to re-launch jobs.

C++: protocols::jd3::job_distributors::JobExtractor::push_job_to_front_of_queue(class std::shared_ptr<class protocols::jd3::LarvalJob>) –> void

retrieve_and_reset_node_recently_completed(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor) bool
Did we just declare a node complete? Returns true if so, and

sets the internal tracking variable to false.

C++: protocols::jd3::job_distributors::JobExtractor::retrieve_and_reset_node_recently_completed() –> bool

running_job(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, job_index: int) pyrosetta.rosetta.protocols.jd3.LarvalJob

C++: protocols::jd3::job_distributors::JobExtractor::running_job(unsigned long) const –> class std::shared_ptr<class protocols::jd3::LarvalJob>

save(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, arc: pyrosetta.rosetta.cereal.BinaryOutputArchive) None

C++: protocols::jd3::job_distributors::JobExtractor::save(class cereal::BinaryOutputArchive &) const –> void

set_job_queen(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, queen: pyrosetta.rosetta.protocols.jd3.JobQueen) None

dummy for master/slave version

C++: protocols::jd3::job_distributors::JobExtractor::set_job_queen(class std::shared_ptr<class protocols::jd3::JobQueen>) –> void

set_maximum_jobs_to_hold_in_memory(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobExtractor, max_njobs_at_once: int) None

C++: protocols::jd3::job_distributors::JobExtractor::set_maximum_jobs_to_hold_in_memory(unsigned long) –> void

class pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner

Bases: pybind11_object

__init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner, : pyrosetta.rosetta.protocols.jd3.LarvalJob, : pyrosetta.rosetta.protocols.jd3.Job, attempt_count: int, retry_limit: int) None
_pybind11_conduit_v1_()
attempt_count(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) int

C++: protocols::jd3::job_distributors::JobRunner::attempt_count() const –> unsigned long

complete(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) bool

C++: protocols::jd3::job_distributors::JobRunner::complete() const –> bool

exception_message(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) str

C++: protocols::jd3::job_distributors::JobRunner::exception_message() const –> const std::string &

exited_w_exception(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) bool

C++: protocols::jd3::job_distributors::JobRunner::exited_w_exception() const –> bool

job_output(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) pyrosetta.rosetta.protocols.jd3.CompletedJobOutput

C++: protocols::jd3::job_distributors::JobRunner::job_output() const –> const struct protocols::jd3::CompletedJobOutput &

larval_job(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) pyrosetta.rosetta.protocols.jd3.LarvalJob

C++: protocols::jd3::job_distributors::JobRunner::larval_job() const –> class std::shared_ptr<class protocols::jd3::LarvalJob>

mature_job(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) pyrosetta.rosetta.protocols.jd3.Job

C++: protocols::jd3::job_distributors::JobRunner::mature_job() const –> class std::shared_ptr<class protocols::jd3::Job>

run(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner, thread_index: int) None

The main function for this unit of work.

C++: protocols::jd3::job_distributors::JobRunner::run(int) –> void

running_thread(self: pyrosetta.rosetta.protocols.jd3.job_distributors.JobRunner) int

C++: protocols::jd3::job_distributors::JobRunner::running_thread() const –> int

class pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor

Bases: JobDistributor

This job distributor is meant for running jobs where the machine you are using has a large number of processors, the number of jobs is much greater than the number of processors, or the runtimes of the individual jobs could vary greatly. It dedicates the head node (whichever processor gets processor rank #0) to handling job requests from the slave nodes (all nonzero ranks). Unlike the MPIWorkPartitionJobDistributor, this JD will not work at all without MPI and the implementations of all but the interface functions have been put inside of ifdef directives. Generally each function has a master and slave version, and the interface functions call one or the other depending on processor rank.

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor) -> None

  2. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor, arg0: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor) -> None

  3. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor, arg0: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor) -> None

_pybind11_conduit_v1_()
assign(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor, : pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor) pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor

C++: protocols::jd3::job_distributors::MPIWorkPoolJobDistributor::operator=(const class protocols::jd3::job_distributors::MPIWorkPoolJobDistributor &) –> class protocols::jd3::job_distributors::MPIWorkPoolJobDistributor &

go(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor, queen: pyrosetta.rosetta.protocols.jd3.JobQueen) None

dummy for master/slave version

C++: protocols::jd3::job_distributors::MPIWorkPoolJobDistributor::go(class std::shared_ptr<class protocols::jd3::JobQueen>) –> void

job_queen(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor) pyrosetta.rosetta.protocols.jd3.JobQueen

Retrieve the JobQueen from the JobDistributor; used only in testing.

C++: protocols::jd3::job_distributors::MPIWorkPoolJobDistributor::job_queen() –> class std::shared_ptr<class protocols::jd3::JobQueen>

set_checkpoint_period(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MPIWorkPoolJobDistributor, period_seconds: int) None
Set the interval between checkpoint events, in seconds.

Useful for testing only. The JD will otherwise initialize this value from the options system in its constructor.

C++: protocols::jd3::job_distributors::MPIWorkPoolJobDistributor::set_checkpoint_period(unsigned long) –> void

class pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor

Bases: JobDistributor

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor) -> None

  2. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor, arg0: pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor) -> None

  3. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor, arg0: pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor) -> None

_pybind11_conduit_v1_()
assign(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor, : pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor) pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor

C++: protocols::jd3::job_distributors::MultiThreadedJobDistributor::operator=(const class protocols::jd3::job_distributors::MultiThreadedJobDistributor &) –> class protocols::jd3::job_distributors::MultiThreadedJobDistributor &

go(self: pyrosetta.rosetta.protocols.jd3.job_distributors.MultiThreadedJobDistributor, queen: pyrosetta.rosetta.protocols.jd3.JobQueen) None
The main method for executing a protocol. Derived classes have the option of

overriding the behavior of the base class, or changing the behavior of the base class version of this function by changing the other virtual methods it calls.

C++: protocols::jd3::job_distributors::MultiThreadedJobDistributor::go(class std::shared_ptr<class protocols::jd3::JobQueen>) –> void

class pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor

Bases: JobDistributor

The VanillaJobDistributor is a single process running by itself, running a single thread.

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor) -> None

  2. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor, arg0: pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor) -> None

  3. __init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor, arg0: pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor) -> None

_pybind11_conduit_v1_()
assign(self: pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor, : pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor) pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor

C++: protocols::jd3::job_distributors::VanillaJobDistributor::operator=(const class protocols::jd3::job_distributors::VanillaJobDistributor &) –> class protocols::jd3::job_distributors::VanillaJobDistributor &

go(self: pyrosetta.rosetta.protocols.jd3.job_distributors.VanillaJobDistributor, queen: pyrosetta.rosetta.protocols.jd3.JobQueen) None

The main method for executing a protocol.

C++: protocols::jd3::job_distributors::VanillaJobDistributor::go(class std::shared_ptr<class protocols::jd3::JobQueen>) –> void

class pyrosetta.rosetta.protocols.jd3.job_distributors.mpi_tags

Bases: pybind11_object

Tags used to tag messeges sent by MPI functions used to decide whether a slave is requesting a new job id or

flagging as job as being a bad input

Members:

mpi_work_pool_jd_new_job_request

mpi_work_pool_jd_deallocation_message

mpi_work_pool_jd_new_job_available

mpi_work_pool_jd_job_success

mpi_work_pool_jd_job_failed_w_message

mpi_work_pool_jd_job_failed_do_not_retry

mpi_work_pool_jd_job_failed_bad_input

mpi_work_pool_jd_job_failed_retry_limit_exceeded

mpi_work_pool_jd_job_success_and_archival_complete

mpi_work_pool_jd_archive_job_result

mpi_work_pool_jd_output_job_result_already_available

mpi_work_pool_jd_accept_and_output_job_result

mpi_work_pool_jd_output_job_result_on_archive

mpi_work_pool_jd_archival_completed

mpi_work_pool_jd_output_completed

mpi_work_pool_jd_retrieve_job_result

mpi_work_pool_jd_job_result_retrieved

mpi_work_pool_jd_failed_to_retrieve_job_result

mpi_work_pool_jd_retrieve_and_discard_job_result

mpi_work_pool_jd_discard_job_result

mpi_work_pool_jd_begin_checkpointing

mpi_work_pool_jd_checkpointing_complete

mpi_work_pool_jd_restore_from_checkpoint

mpi_work_pool_jd_spin_down

mpi_work_pool_jd_error

__init__(self: pyrosetta.rosetta.protocols.jd3.job_distributors.mpi_tags, value: int) None
_pybind11_conduit_v1_()
mpi_work_pool_jd_accept_and_output_job_result = <mpi_tags.mpi_work_pool_jd_accept_and_output_job_result: 11>
mpi_work_pool_jd_archival_completed = <mpi_tags.mpi_work_pool_jd_archival_completed: 13>
mpi_work_pool_jd_archive_job_result = <mpi_tags.mpi_work_pool_jd_archive_job_result: 9>
mpi_work_pool_jd_begin_checkpointing = <mpi_tags.mpi_work_pool_jd_begin_checkpointing: 20>
mpi_work_pool_jd_checkpointing_complete = <mpi_tags.mpi_work_pool_jd_checkpointing_complete: 21>
mpi_work_pool_jd_deallocation_message = <mpi_tags.mpi_work_pool_jd_deallocation_message: 1>
mpi_work_pool_jd_discard_job_result = <mpi_tags.mpi_work_pool_jd_discard_job_result: 19>
mpi_work_pool_jd_error = <mpi_tags.mpi_work_pool_jd_error: 24>
mpi_work_pool_jd_failed_to_retrieve_job_result = <mpi_tags.mpi_work_pool_jd_failed_to_retrieve_job_result: 17>
mpi_work_pool_jd_job_failed_bad_input = <mpi_tags.mpi_work_pool_jd_job_failed_bad_input: 6>
mpi_work_pool_jd_job_failed_do_not_retry = <mpi_tags.mpi_work_pool_jd_job_failed_do_not_retry: 5>
mpi_work_pool_jd_job_failed_retry_limit_exceeded = <mpi_tags.mpi_work_pool_jd_job_failed_retry_limit_exceeded: 7>
mpi_work_pool_jd_job_failed_w_message = <mpi_tags.mpi_work_pool_jd_job_failed_w_message: 4>
mpi_work_pool_jd_job_result_retrieved = <mpi_tags.mpi_work_pool_jd_job_result_retrieved: 16>
mpi_work_pool_jd_job_success = <mpi_tags.mpi_work_pool_jd_job_success: 3>
mpi_work_pool_jd_job_success_and_archival_complete = <mpi_tags.mpi_work_pool_jd_job_success_and_archival_complete: 8>
mpi_work_pool_jd_new_job_available = <mpi_tags.mpi_work_pool_jd_new_job_available: 2>
mpi_work_pool_jd_new_job_request = <mpi_tags.mpi_work_pool_jd_new_job_request: 0>
mpi_work_pool_jd_output_completed = <mpi_tags.mpi_work_pool_jd_output_completed: 14>
mpi_work_pool_jd_output_job_result_already_available = <mpi_tags.mpi_work_pool_jd_output_job_result_already_available: 10>
mpi_work_pool_jd_output_job_result_on_archive = <mpi_tags.mpi_work_pool_jd_output_job_result_on_archive: 12>
mpi_work_pool_jd_restore_from_checkpoint = <mpi_tags.mpi_work_pool_jd_restore_from_checkpoint: 22>
mpi_work_pool_jd_retrieve_and_discard_job_result = <mpi_tags.mpi_work_pool_jd_retrieve_and_discard_job_result: 18>
mpi_work_pool_jd_retrieve_job_result = <mpi_tags.mpi_work_pool_jd_retrieve_job_result: 15>
mpi_work_pool_jd_spin_down = <mpi_tags.mpi_work_pool_jd_spin_down: 23>
property name
property value