thread_manager¶
Bindings for basic::thread_manager namespace
- class pyrosetta.rosetta.basic.thread_manager.RosettaThread¶
Bases:
pybind11_object
A container for a thread in a RosettaThreadPool. The thread idles continuously until loaded with a function to execute. It then executes the function and returns to the idle state.
- __init__(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread, thread_index: int, key: pyrosetta.rosetta.basic.thread_manager.RosettaThreadInstantiationKey) None ¶
- _pybind11_conduit_v1_()¶
- get_system_thread_id(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread) std::thread::id ¶
Get the system ID of this thread.
C++: basic::thread_manager::RosettaThread::get_system_thread_id() const –> class std::thread::id
- get_thread_index(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread) int ¶
Get the thread index, in Rosetta numbering. Thread 0 is the master; subsequent threads are numbered from zero.
C++: basic::thread_manager::RosettaThread::get_thread_index() const –> unsigned long
- is_available_for_new_work(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread) bool ¶
Check whether this thread is available to be assigned new work.
C++: basic::thread_manager::RosettaThread::is_available_for_new_work() const –> bool
- is_idle(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread) bool ¶
Is this thread idle?
This function locks the thread mutex, and should not be called from a locked context.
C++: basic::thread_manager::RosettaThread::is_idle() const –> bool
- set_available_for_new_work(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread) None ¶
Indicate that this thread is available to be assigned new work.
C++: basic::thread_manager::RosettaThread::set_available_for_new_work() –> void
- set_forced_idle(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread, setting: bool) None ¶
- Set the idle state of this thread. If set to true and a function is already running, it continues
to run, but no new function will run until this is set to false.
C++: basic::thread_manager::RosettaThread::set_forced_idle(const bool) –> void
- set_function(self: pyrosetta.rosetta.basic.thread_manager.RosettaThread, function_to_execute: std::function<void ()>, job_completion_mutex: pyrosetta.rosetta.std.mutex, job_completion_condition_variable: pyrosetta.rosetta.std.condition_variable, job_completion_count: int) bool ¶
Set the function to run on this thread.
Requires a function that returns void (bundled with its arguments with std::bind). The RosttaThreadFunction object must exist. Existence is guaranteed by the RosettaThreadManager, the only class that can instantiate RosettaThreadPools, which in turn are the only class able to instantiate or access RosettaThread objects.
False for failure (thread was occupied), true for success (function was assigned to thread).
The job_completion_* objects are used to signal job completion to the RosettaThreadPool.
C++: basic::thread_manager::RosettaThread::set_function(class std::function<void (void)> *, class std::mutex &, class std::condition_variable &, unsigned long &) –> bool
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation¶
Bases:
pybind11_object
- __init__(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation) None ¶
- _pybind11_conduit_v1_()¶
- property thread_ids¶
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo¶
Bases:
pybind11_object
A class for storing information about the threads to which a function has been assigned by the RosettaThreadManager.
- __init__(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo, originating_level: pyrosetta.rosetta.basic.thread_manager.RosettaThreadRequestOriginatingLevel) None ¶
- _pybind11_conduit_v1_()¶
- get_assigned_child_thread_count(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) int ¶
- Get the number of additional threads that were assigned this task. The total number of threads available for this
task are this number plus one, since the requesting thread will also run the task.
C++: basic::thread_manager::RosettaThreadAssignmentInfo::get_assigned_child_thread_count() const –> unsigned long
- get_assigned_child_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) pyrosetta.rosetta.utility.vector1_unsigned_long ¶
Get the list of assigned threads (indices ranging from 1 to nthreads - 1 ). These don’t include the calling thread.
Deliberately passes result by copy rather than returning an instance, for thread-safety.
C++: basic::thread_manager::RosettaThreadAssignmentInfo::get_assigned_child_threads() const –> class utility::vector1<unsigned long, class std::allocator<unsigned long> >
- get_assigned_total_thread_count(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) int ¶
- Get the total number of threads that were assigned this task. This is one greater than the number of child threads
assigned this task, since the total includes the requesting thread, which also runs the task.
C++: basic::thread_manager::RosettaThreadAssignmentInfo::get_assigned_total_thread_count() const –> unsigned long
- get_originating_thread(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) int ¶
- Get the thread from which this task originated, included in the set of threads assigned to the task (but
not in the assigned_child_threads_ list).
C++: basic::thread_manager::RosettaThreadAssignmentInfo::get_originating_thread() const –> unsigned long
- get_requested_thread_count(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) int ¶
- Get the number of threads that were originally requested for this task. This is equal to or greater than the number
on which the task is actually running, since fewer threads might have been available.
C++: basic::thread_manager::RosettaThreadAssignmentInfo::get_requested_thread_count() const –> unsigned long
- get_this_thread_index_in_assigned_set(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) int ¶
- Checks the current thread’s Rosetta index, and converts it into a one-based index in the vector of threads assigned to this
task. For example, if threads 4, 7, and 9 are assigned to this task, and thread 7 calls this function, it will return “2”, since thread 7 is the 2nd of 3 threads assigned to this task.
Assumes that calling thread is one that is assigned to this task!
C++: basic::thread_manager::RosettaThreadAssignmentInfo::get_this_thread_index_in_assigned_set() const –> unsigned long
- get_thread_request_originating_level(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) pyrosetta.rosetta.basic.thread_manager.RosettaThreadRequestOriginatingLevel ¶
Get the level from which the thread request originally came.
C++: basic::thread_manager::RosettaThreadAssignmentInfo::get_thread_request_originating_level() const –> enum basic::thread_manager::RosettaThreadRequestOriginatingLevel
- set_assigned_child_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo, threadlist_in: pyrosetta.rosetta.utility.vector1_unsigned_long) None ¶
Set the list of assigned threads (indices ranging from 1 to nthreads - 1 ). These don’t include the calling thread.
C++: basic::thread_manager::RosettaThreadAssignmentInfo::set_assigned_child_threads(const class utility::vector1<unsigned long, class std::allocator<unsigned long> > &) –> void
- set_requested_thread_count(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo, setting: int) None ¶
Set the number of threads requested for the task.
C++: basic::thread_manager::RosettaThreadAssignmentInfo::set_requested_thread_count(const unsigned long) –> void
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadInstantiationKey¶
Bases:
pybind11_object
A “key” class that is used to ensure that ONLY the RosettaThreadPool can instantiate the RosettaThread class.
This class declares the RosettaThreadPool as a friend. Since this class has NO private data and NO private members (aside from the constructor), this does not jeopardize const correctness in any way.
- __init__(*args, **kwargs)¶
- _pybind11_conduit_v1_()¶
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadManager¶
Bases:
SingletonBase_basic_thread_manager_RosettaThreadManager_t
A manager that maintains a threadpool and handles requests for threads for multithreaded execution of functions. This allows multithreading at many different levels in the Rosetta library hierarchy, from job-level parallel execution down to parallel computation of a score, gradient vector, or interaction graph.
In single-threaded builds, this object still exists. It accepts vectors of work and executes them directly, in this case.
- __init__(*args, **kwargs)¶
- _pybind11_conduit_v1_()¶
- static get_instance() basic::thread_manager::RosettaThreadManager ¶
C++: utility::SingletonBase<basic::thread_manager::RosettaThreadManager>::get_instance() –> class basic::thread_manager::RosettaThreadManager *
- get_rosetta_thread_index(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManager) int ¶
Get the Rosetta thread index.
C++: basic::thread_manager::RosettaThreadManager::get_rosetta_thread_index() const –> unsigned long
- launch_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManager) None ¶
Trigger launch of threads.
Does nothing if threads already launched.
C++: basic::thread_manager::RosettaThreadManager::launch_threads() –> void
- release_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManager, allocation: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation) None ¶
deallocate threads given by reserve_threads()
This is called by RosettaThreadAllocation’s destructor, so you don’t need to worry about it
C++: basic::thread_manager::RosettaThreadManager::release_threads(struct basic::thread_manager::RosettaThreadAllocation &) –> void
- reserve_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManager, requested_thread_count: int, thread_assignment: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation ¶
Allocate threads before supplying the work vector
C++: basic::thread_manager::RosettaThreadManager::reserve_threads(const unsigned long, class basic::thread_manager::RosettaThreadAssignmentInfo &) –> struct basic::thread_manager::RosettaThreadAllocation
- run_function_in_threads(*args, **kwargs)¶
Overloaded function.
run_function_in_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManager, function_to_execute: std::function<void ()>, requested_thread_count: int, key: basic::thread_manager::RosettaThreadManagerAdvancedAPIKey, thread_assignment: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) -> None
- ADVANCED API THAT SHOULD NOT BE USED IN MOST CIRCUMSTANCES. Given a function that was bundled with its
arguments with std::bind, run it in many threads. This calls RosettaThreadPool::run_function_in_threads for the already-running thread pool. If the thread pool has not been created, it first creates it by calling create_thread_pool(). IF YOU DECIDE TO USE THE ADVANCED API, YOU MUST: 1. Pass this function a RosettaThreadManagerAdvancedAPIKey from the calling context. Since the RosettaThreadManagerAdvancedAPIKey class has a private constructor, it can only be created in whitelisted contexts in its friend list, which means that you must: 2. Add the class that calls this advanced API to the friend list for the RosettaThreadManagerAdvancedAPIKey class. Since this will trigger breakage of the central_class_modification regression test, you must finally: 3. Justify to the developer community why you must call this interface and not the safer, basic interface (do_work_vector_in_threads) in both the comments in RosettaThreadManagerAdvancedAPIKey’s friend list, the comments in the calling class, AND in your pull request description. Andrew Leaver-Fay and Vikram K. Mulligan will both scrutinize this closely. It is highly recommended that before using the run_function_in_threads() function, you first contact Andrew or Vikram and discuss whether it is possible to do what you want to do using the basic API (the do_work_vector_in_threads() function).
The function is assigned to as many threads as the RosettaThreadPool decides to assign it to, always including the thread from which the request originates. It is guaranteed to run in 1 <= actual_thread_count <= requested_thread_count threads. After assigning the function to up to (requsted_thread_count - 1) other threads, the function executes in the current thread, then the current thread blocks until the assigned threads report that they are idle. All of this is handled by the RosettaThreadPool class (or its derived classes, which may have) different logic for assigning thread requests to threads).
A RosettaThreadAssignmentInfo object should be passed in. It will be populated with the number of threads requested, the number actually assigned, the indices of the assigned threads, and a map of system thread ID to Rosetta thread index. The same owning pointer may optionally be provided to the function to execute by the calling function if the function to execute requires access to this information. Note also that the function passed in is responsible for ensuring that it is able to carry out a large block of work, alone or concurrently with many copies of itself in parallel threads, in a threadsafe manner. Finally, note that this function requires a RosettaThreadManagerAdvancedAPIKey, which can only be instantiated by friend classes in the whitelist in the RosettaThreadManagerAdvancedAPIKey class definition. This ensures that only select classes can access the advanced RosettaThreadManager API.
C++: basic::thread_manager::RosettaThreadManager::run_function_in_threads(class std::function<void (void)> &, const unsigned long, const class basic::thread_manager::RosettaThreadManagerAdvancedAPIKey &, class basic::thread_manager::RosettaThreadAssignmentInfo &) –> void
run_function_in_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManager, function_to_execute: std::function<void ()>, key: basic::thread_manager::RosettaThreadManagerAdvancedAPIKey, allocation: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation) -> None
- ADVANCED API THAT SHOULD NOT BE USED IN MOST CIRCUMSTANCES. Given a function that was bundled with its
arguments with std::bind, run it in many threads. This calls RosettaThreadPool::run_function_in_threads for the already-running thread pool. If the thread pool has not been created, it first creates it by calling create_thread_pool(). IF YOU DECIDE TO USE THE ADVANCED API, YOU MUST: 1. Pass this function a RosettaThreadManagerAdvancedAPIKey from the calling context. Since the RosettaThreadManagerAdvancedAPIKey class has a private constructor, it can only be created in whitelisted contexts in its friend list, which means that you must: 2. Add the class that calls this advanced API to the friend list for the RosettaThreadManagerAdvancedAPIKey class. Since this will trigger breakage of the central_class_modification regression test, you must finally: 3. Justify to the developer community why you must call this interface and not the safer, basic interface (do_work_vector_in_threads) in both the comments in RosettaThreadManagerAdvancedAPIKey’s friend list, the comments in the calling class, AND in your pull request description. Andrew Leaver-Fay and Vikram K. Mulligan will both scrutinize this closely. It is highly recommended that before using the run_function_in_threads() function, you first contact Andrew or Vikram and discuss whether it is possible to do what you want to do using the basic API (the do_work_vector_in_threads() function).
The function is assigned to as many threads as the RosettaThreadPool decides to assign it to, always including the thread from which the request originates. It is guaranteed to run in 1 <= actual_thread_count <= requested_thread_count threads. After assigning the function to up to (requsted_thread_count - 1) other threads, the function executes in the current thread, then the current thread blocks until the assigned threads report that they are idle. All of this is handled by the RosettaThreadPool class (or its derived classes, which may have) different logic for assigning thread requests to threads).
A RosettaThreadAssignmentInfo object should be passed in. It will be populated with the number of threads requested, the number actually assigned, the indices of the assigned threads, and a map of system thread ID to Rosetta thread index. The same owning pointer may optionally be provided to the function to execute by the calling function if the function to execute requires access to this information. Note also that the function passed in is responsible for ensuring that it is able to carry out a large block of work, alone or concurrently with many copies of itself in parallel threads, in a threadsafe manner. Finally, note that this function requires a RosettaThreadManagerAdvancedAPIKey, which can only be instantiated by friend classes in the whitelist in the RosettaThreadManagerAdvancedAPIKey class definition. This ensures that only select classes can access the advanced RosettaThreadManager API.
C++: basic::thread_manager::RosettaThreadManager::run_function_in_threads(class std::function<void (void)> &, const class basic::thread_manager::RosettaThreadManagerAdvancedAPIKey &, struct basic::thread_manager::RosettaThreadAllocation &) –> void
- static thread_manager_initialization_begun() bool ¶
Report whether the RosettaThreadManager initialization has begun (i.e. whether threads have been launched OR are in the process of being launched).
C++: basic::thread_manager::RosettaThreadManager::thread_manager_initialization_begun() –> bool
- static thread_manager_was_initialized() bool ¶
Report whether the RosettaThreadManager was initialized (i.e. whether threads have been launched).
C++: basic::thread_manager::RosettaThreadManager::thread_manager_was_initialized() –> bool
- static total_threads() int ¶
Get the total number of threads that have been launched or will be launched.
This corresponds to the -multithreading:total_threads option, but it does not access the options system repatedly.d
Always returns 1 in the non-threaded build.
C++: basic::thread_manager::RosettaThreadManager::total_threads() –> unsigned long
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadManagerAdvancedAPIKey¶
Bases:
pybind11_object
A class containing no private member data and only a constructor as a private member function, with friendship to only those classes that should be able to access the advanced RosettaThreadManager API. Since the advanced API requires an instance of a RosettaThreadManagerAdvancedAPIKey, this ensures that only those classes can access the advanced API.
Vikram K. Mulligan (vmulligan.org)
If you use the RosettaThreadManager::run_function_in_threads() advanced API, you must modify this class to add your calling context to the friend list for this class. If you do not do this, you will not be able to create an instance of this class to pass to that function. Whitelisting your calling context will light up the central_class_modification integration test, and this means that you will be forced to justify why you need the advanced API before you can merge your code. It is STRONGLY recommended that you try to use the basic API (the RosettaThreadManager::do_work_vector_in_threads() function), which is much safer, if you possibly can. If you want to discuss the best way to multi-thread your code, please talk to Andrew Leaver-Fay or Vikram K. Mulligan BEFORE starting.
- __init__(*args, **kwargs)¶
- _pybind11_conduit_v1_()¶
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadManagerInitializationTracker¶
Bases:
SingletonBase_basic_thread_manager_RosettaThreadManagerInitializationTracker_t
A singleton that tracks whether we have already launched threads or not.
- __init__(*args, **kwargs)¶
- _pybind11_conduit_v1_()¶
- static get_instance() basic::thread_manager::RosettaThreadManagerInitializationTracker ¶
C++: utility::SingletonBase<basic::thread_manager::RosettaThreadManagerInitializationTracker>::get_instance() –> class basic::thread_manager::RosettaThreadManagerInitializationTracker *
- mark_thread_manager_as_initialized(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManagerInitializationTracker) None ¶
Store the fact that threads have been launched.
C++: basic::thread_manager::RosettaThreadManagerInitializationTracker::mark_thread_manager_as_initialized() –> void
- mark_thread_manager_initialization_as_begun(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManagerInitializationTracker) None ¶
Store the fact that thread lauch has started.
C++: basic::thread_manager::RosettaThreadManagerInitializationTracker::mark_thread_manager_initialization_as_begun() –> void
- thread_manager_initialization_begun(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManagerInitializationTracker) bool ¶
Determine whether thread launch has started.
C++: basic::thread_manager::RosettaThreadManagerInitializationTracker::thread_manager_initialization_begun() const –> bool
- thread_manager_was_initialized(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManagerInitializationTracker) bool ¶
Determine whether threads have been launched.
C++: basic::thread_manager::RosettaThreadManagerInitializationTracker::thread_manager_was_initialized() const –> bool
- total_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadManagerInitializationTracker) int ¶
- Get the total number of threads that have been launched or which
will be launched.
Read from options system. If options system specifies “0”, set to number of cores in system.
C++: basic::thread_manager::RosettaThreadManagerInitializationTracker::total_threads() const –> unsigned long
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadPool¶
Bases:
pybind11_object
A container for a pool of threads. Threads idle continuously until loaded with a function to execute. A subset of threads then execute the function synchronously and then return to the idle state.
- __init__(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadPool, total_threads: int, key: pyrosetta.rosetta.basic.thread_manager.RosettaThreadPoolInstantiationKey) None ¶
- _pybind11_conduit_v1_()¶
- force_terminate_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadPool) None ¶
- Force all threads to terminate. Called by the destructor of the RosettaThreadManager class, and
by the destructor of this class.
At the end of this operation, the threads_ object is empty.
C++: basic::thread_manager::RosettaThreadPool::force_terminate_threads() –> void
- preallocate_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadPool, requested_thread_count: int, thread_assignment: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation ¶
C++: basic::thread_manager::RosettaThreadPool::preallocate_threads(const unsigned long, class basic::thread_manager::RosettaThreadAssignmentInfo &) –> struct basic::thread_manager::RosettaThreadAllocation
- release_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadPool, allocation: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation) None ¶
C++: basic::thread_manager::RosettaThreadPool::release_threads(struct basic::thread_manager::RosettaThreadAllocation &) –> void
- run_function_in_threads(*args, **kwargs)¶
Overloaded function.
run_function_in_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadPool, function_to_execute: std::function<void ()>, requested_thread_count: int, thread_assignment: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAssignmentInfo) -> None
Given a function that was bundled with its arguments with std::bind, run it in many threads.
The function is assigned to as many threads as are available, including the thread from which the request originates. It is guaranteed to run in 1 <= actual_thread_count <= requested_thread_count threads. After assigning the function to up to (requsted_thread_count - 1) other threads, the function executes in the current thread, then the current thread blocks until the assigned threads report that they are idle.
The RosettaThreadManager must provide a strong guarantee that the RosettaThreadFunction object exists and will continue to exist until execution terminates. Since the RosettaThreadManager is the only class that can instantiate or access the RosettaThreadPool, this is a safe ownership arrangement.
A RosettaThreadAssignmentInfo object should be passed in. It will be populated with the number of threads requested, the number actually assigned, the indices of the assigned threads, and a map of system thread ID to Rosetta thread index. The same owning pointer may optionally be provided to the function to execute by the calling function if the function to execute requires access to this information.
C++: basic::thread_manager::RosettaThreadPool::run_function_in_threads(class std::function<void (void)> *, const unsigned long, class basic::thread_manager::RosettaThreadAssignmentInfo &) –> void
run_function_in_threads(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadPool, function_to_execute: std::function<void ()>, allocation: pyrosetta.rosetta.basic.thread_manager.RosettaThreadAllocation) -> None
C++: basic::thread_manager::RosettaThreadPool::run_function_in_threads(class std::function<void (void)> *, struct basic::thread_manager::RosettaThreadAllocation &) –> void
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadPoolInstantiationKey¶
Bases:
pybind11_object
A “key” class that is used to ensure that ONLY the RosettaThreadManager can instantiate the RosettaThreadPool class.
This class declares the RosettaThreadManager as a friend. Since this class has NO private data and NO private members (aside from the constructor), this does not jeopardize const correctness in any way.
- __init__(*args, **kwargs)¶
- _pybind11_conduit_v1_()¶
- class pyrosetta.rosetta.basic.thread_manager.RosettaThreadRequestOriginatingLevel¶
Bases:
pybind11_object
Members:
UNKNOWN
CORE_GENERIC
CORE_PACK
CORE_SCORING
PROTOCOLS_GENERIC
PROTOCOLS_MINIMIZATION_PACKING
PROTOCOLS_JOB_DISTRIBUTOR
APPLICATIONS_OR_APPLICATION_PROTOCOLS
INVALID
END_OF_LIST
- APPLICATIONS_OR_APPLICATION_PROTOCOLS = <RosettaThreadRequestOriginatingLevel.APPLICATIONS_OR_APPLICATION_PROTOCOLS: 8>¶
- CORE_GENERIC = <RosettaThreadRequestOriginatingLevel.CORE_GENERIC: 2>¶
- CORE_PACK = <RosettaThreadRequestOriginatingLevel.CORE_PACK: 3>¶
- CORE_SCORING = <RosettaThreadRequestOriginatingLevel.CORE_SCORING: 4>¶
- END_OF_LIST = <RosettaThreadRequestOriginatingLevel.INVALID: 9>¶
- INVALID = <RosettaThreadRequestOriginatingLevel.INVALID: 9>¶
- PROTOCOLS_GENERIC = <RosettaThreadRequestOriginatingLevel.PROTOCOLS_GENERIC: 5>¶
- PROTOCOLS_JOB_DISTRIBUTOR = <RosettaThreadRequestOriginatingLevel.PROTOCOLS_JOB_DISTRIBUTOR: 7>¶
- PROTOCOLS_MINIMIZATION_PACKING = <RosettaThreadRequestOriginatingLevel.PROTOCOLS_MINIMIZATION_PACKING: 6>¶
- UNKNOWN = <RosettaThreadRequestOriginatingLevel.UNKNOWN: 1>¶
- __init__(self: pyrosetta.rosetta.basic.thread_manager.RosettaThreadRequestOriginatingLevel, value: int) None ¶
- _pybind11_conduit_v1_()¶
- property name¶
- property value¶