schrodinger.tasks.hosts module¶
- schrodinger.tasks.hosts.strip_gpu_from_localhost(hostname)¶
Check host strings to see if ‘localhost-gpu’ was specified and, if so, replace with ‘localhost’
- Parameters:
hostname (str) – Host name to be checked
- Returns:
The actual hostname value to be used in a job command.
- Return type:
str
- schrodinger.tasks.hosts.get_GPGPUs(hostname)¶
- class schrodinger.tasks.hosts.Host(name, processors=0, num_gpus=0, gpulist=None)¶
Bases:
JsonableClassMixin
,Host
Extension of jobcontrol.Host class with GPUs.
- CPUTYPE = 'cpu'¶
- GPUTYPE = 'gpu'¶
- __init__(name, processors=0, num_gpus=0, gpulist=None)¶
- toJsonImplementation()¶
Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object.
- Returns:
A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders
- classmethod fromJsonImplementation(json_dict)¶
Abstract method that must be defined by all derived classes. Takes in a dictionary and constructs an instance of the derived class.
- Parameters:
json_dict (dict) – A dictionary loaded from a JSON string or file.
- Returns:
An instance of the derived class.
- Return type:
cls
- classmethod fromJobControlHost(jchost: Host, ncpus: bool) Host ¶
Create a Host object from a jobcontrol.Host object.
- Parameters:
jchost – The jobcontrol.Host object to be converted
ncpus – Whether to display number of cpus in label
- Returns:
The new Host object
- setGpuList(gpulist)¶
- autoSetGpuList()¶
- hostType()¶
Used to determine what type of host this is.
- label()¶
Returns the string to show in controls, etc.
- units()¶
Return the unit string for the type of processors provided by this host.
- maxNum()¶
Returns the number of processors for the type of host - for GPU host, return the number of GPUs, for non-GPU hosts, return the number of CPUs.
- class schrodinger.tasks.hosts.Gpu(index, desc)¶
Bases:
JsonableClassMixin
- __init__(index, desc)¶
- toJsonImplementation()¶
Abstract method that must be defined by all derived classes. Converts an instance of the derived class into a jsonifiable object.
- Returns:
A dict made up of JSON native datatypes or Jsonable objects. See the link below for a table of such types. https://docs.python.org/2/library/json.html#encoders-and-decoders
- classmethod fromJsonImplementation(json_dict)¶
Abstract method that must be defined by all derived classes. Takes in a dictionary and constructs an instance of the derived class.
- Parameters:
json_dict (dict) – A dictionary loaded from a JSON string or file.
- Returns:
An instance of the derived class.
- Return type:
cls
- schrodinger.tasks.hosts.get_hosts(ncpus: bool = True, excludeGPGPUs: bool = True) List[Host] ¶
Return a list of Host objects for use in config dialogs. Note these are a subclass of jobcontrol.Host which has additional features for text labels and accounting for GPUs.
- Parameters:
ncpus – whether host text labels should include number of processors
excludeGPGPUs – whether to exclude GPU hosts from the list
- schrodinger.tasks.hosts.get_hostsChanged_signal() pyqtSignal ¶
Return the signal that is emitted when the list of hosts changes. This function is to be used in the GUI.
- schrodinger.tasks.hosts.get_host_by_name(name: str | None) schrodinger.tasks.hosts.Host | None ¶
Get the Host object from the hosts list that matches the specified hostname or
None
if the hostname isn’t found.
- schrodinger.tasks.hosts.disable_local_gpu_check()¶
Globally disable the check for local GPU hosts.
This will disable checking for remote or local GPU hosts. This should only be used in backends to skip possibly expensive local GPU-checks which can be triggered for every task that’s instantiated (since every task will call get_hosts()). Don’t use this unless you know what you’re doing.