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:
schrodinger.models.json.JsonableClassMixin
,schrodinger.job.jobcontrol.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: schrodinger.job.jobcontrol.Host, ncpus: bool) schrodinger.tasks.hosts.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:
schrodinger.models.json.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[schrodinger.tasks.hosts.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() PyQt6.QtCore.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)¶
Get the Host object from the hosts list that matches the specified hostname.