schrodinger.application.matsci.configdlgs module¶
Module for config dialog classes used by MatSci panels
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.matsci.configdlgs.PerStrucConfigDialog(parent, title='', jobname='', checkcommand=None, multi_gpgpu_allowed=True, no_cpu=True, **kw)¶
Bases:
schrodinger.application.desmond.gui.DesmondGuiConfigDialog
Dialog for configuring jobs that can have CPUs/GPUs per input structure specified.
- CPU_UNIT_LABEL = 'processors per structure'¶
- GPU_UNIT_LABEL = 'GPUs per structure'¶
- class schrodinger.application.matsci.configdlgs.PerStrucSingleGpuConfigDialog(*args, **kwargs)¶
Bases:
schrodinger.application.desmond.gui.SingleGpuDesmondGuiConfigDialog
Class to configure jobs that can use a single GPU per input structure.
- CPU_UNIT_LABEL = 'processors per structure'¶
- GPU_UNIT_LABEL = 'GPUs per structure'¶
- class schrodinger.application.matsci.configdlgs.PerStructDesmondSubhostConfigDialog(*arg, gpu_num=None, cpu_num=None, sim_jobnum=None, sim_job_sb=None, has_subjobs_func=None, **kwargs)¶
Bases:
schrodinger.application.desmond.fep_dialog.FEPConfigDialog
Subclass fep_dialog.FEPConfigDialog dialog, and customize it for panels that run multiple desmond subjobs.
- MAX_SUBJOBS_LABEL_TEXT = 'Maximum simultaneous subjobs:'¶
- __init__(*arg, gpu_num=None, cpu_num=None, sim_jobnum=None, sim_job_sb=None, has_subjobs_func=None, **kwargs)¶
See parent class for additional documentation string.
- Parameters
gpu_num (int) – Fix the gpu processor number per subjob, if provided.
cpu_num (int) – Fix the cpu processor number per subjob, if provided.
sim_jobnum (int) – The default simultaneous subjob number.
sim_job_sb (str) – the attribute name of the parent to define the number of simultaneous subjob.
has_subjobs_func – Function that takes no arguments and returns a boolean indicating whether subjobs will be run. If not supplied, validation will always assume subjobs are run.
- Type
callable
- updateMaxjobsDefault()¶
Overwrite the parent class method to set the upper limit of max simultaneous subjobs.
- validateSubHost()¶
Overwritten the parent method.
- validate()¶
Overwritten the parent method to allow cpu hosts for master jobs.
- class schrodinger.application.matsci.configdlgs.ConfigDialogWithPlatformValidation(*args, compatible_platforms=(), platform_warning='', **kwargs)¶
Bases:
schrodinger.ui.qt.config_dialog.ConfigDialog
Adds a platform check to ConfigDialog for localhost jobs.
- __init__(*args, compatible_platforms=(), platform_warning='', **kwargs)¶
- Parameters
compatible_platforms (tuple) – Compatible platforms for the job. Use
platform
module’s LINUX, WINDOWS or DARWIN as values for platforms.platform_warning (str) – The warning to be displayed if the platform is incompatible.
- validateHost(host)¶
Validates whether or not a launch host is valid for the job. Currently only validates localhost.
- Parameters
host (
schrodinger.job.jobcontrol.Host
object) – Launch host to validate- Return type
bool
- Returns
True if the selected host is valid for the job, False otherwise.
- validate()¶
Checks the panel to make sure settings are valid. Return False if any validation test fails, otherwise return True.
- Return type
bool
- Returns
True if all checks pass, False otherwise
- class schrodinger.application.matsci.configdlgs.ThreadsAndMaxSubjobsConfigDialog(parent, title='', jobname='', checkcommand=None, help_topic='MM_TOPIC_JOB_START_DIALOG', **kw)¶
Bases:
schrodinger.ui.qt.config_dialog.ConfigDialog
Manage a config dialog that only exposes the number of threads and maximum number of simultaneous subjobs.
- class schrodinger.application.matsci.configdlgs.ThreadOnlyConfigDialog(parent, title='', jobname='', checkcommand=None, help_topic='MM_TOPIC_JOB_START_DIALOG', **kw)¶
Bases:
schrodinger.application.matsci.configdlgs.ThreadsAndMaxSubjobsConfigDialog
Manage a config dialog that only exposes the number of threads and locks the number of simultaneous subjobs at one.
- class schrodinger.application.matsci.configdlgs.MaxSubjobsConfigDialog(max_subjobs, *args, **kwargs)¶
Bases:
schrodinger.application.matsci.configdlgs.ThreadsAndMaxSubjobsConfigDialog
Manage a config dialog with a maximum number of simultaneous subjobs.
- __init__(max_subjobs, *args, **kwargs)¶
- Parameters
max_subjobs (int) – the maximum number of simultaneous subjobs
- class schrodinger.application.matsci.configdlgs.DesmondSubhostConfigDialog(*args, multiple_gpus=False, **kwargs)¶
Bases:
schrodinger.ui.qt.config_dialog.ConfigDialog
Custom job config dialog that launches using Launch API and supports subhost.
- DRIVER_HOST = 'Driver/GPU host'¶
- GPU_SUBHOST = 'GPU subhost'¶
- __init__(*args, multiple_gpus=False, **kwargs)¶
Initialize the dialog. Set host products.
- Parameters
multiple_gpus (bool) – Whether to allow multiple GPUs
- updateLaunchParams(job_spec, launch_params)¶
Set launch parameters from config dialog settings. See parent for docs.
- useSubhost()¶
Check if subhost is needed.
- Return type
bool
- Returns
Whether subhost is needed. In this particular case, if driver host is GPU, subhost is not needed.
- getLicHost()¶
Get license host.
- Return type
str or None
- Returns
If driver host is GPU, all the jobs will run there, need to request license for it. Otherwise return None
- getNumGPUS()¶
Get number of GPUs. Only makes sense when multiple GPUs is allowed.
- Return type
None or int
- Returns
Number of GPUs requested, None if multiple GPUs hasn’t been requested