# QueueWorkerResources

class `propertyestimator.backends.``QueueWorkerResources`(number_of_threads=1, number_of_gpus=0, preferred_gpu_toolkit=None, per_thread_memory_limit=<Quantity(1, 'gigabyte')>, wallclock_time_limit='01:00')

  An extended resource object with properties specific to calculations which will run on queue based resources, such as LSF, PBS or SLURM.

  `__init__`(number_of_threads=1, number_of_gpus=0, preferred_gpu_toolkit=None, per_thread_memory_limit=<Quantity(1, 'gigabyte')>, wallclock_time_limit='01:00')

    Constructs a new ComputeResources object.

    Notes

    Both the requested number_of_threads and the number_of_gpus must be less than or equal to the number of threads (/cpus/cores) and GPUs available to each compute node in the cluster respectively, such that a single worker is able to be accommodated by a single compute node.

    Parameters

      - per_thread_memory_limit (simtk.Quantity) – The maximum amount of memory available to each thread.

      - wallclock_time_limit (str) – The maximum amount of wall clock time that a worker can run for. This should be a string of the form HH:MM where HH is the number of hours and MM the number of minutes

  Methods

  `__init__`([number_of_threads, …]) | Constructs a new ComputeResources object.

  Attributes

  `gpu_device_indices` | The indices of the GPUs to run on.
  `number_of_gpus` | The number of GPUs available to a calculation worker.
  `number_of_threads` | The number of threads available to a calculation worker.
  `per_thread_memory_limit` | The maximum amount of memory available to each thread, such that the total memory limit will be per_cpu_memory_limit * number_of_threads.
  `preferred_gpu_toolkit` | The preferred toolkit to use when running on GPUs.
  `wallclock_time_limit` | The maximum amount of wall clock time that a worker can run for.

  property `per_thread_memory_limit`

    The maximum amount of memory available to each thread, such that the total memory limit will be per_cpu_memory_limit * number_of_threads.

    Type

      simtk.Quantity

  property `wallclock_time_limit`

    The maximum amount of wall clock time that a worker can run for. This should be a string of the form HH:MM where HH is the number of hours and MM the number of minutes

    Type

      str

  class `GPUToolkit`

    An enumeration of the different GPU toolkits to make available to different calculations.

  property `gpu_device_indices`

    The indices of the GPUs to run on. This is purely an internal implementation detail and should not be relied upon externally.

    Type

      str

  property `number_of_gpus`

    The number of GPUs available to a calculation worker.

    Type

      int

  property `number_of_threads`

    The number of threads available to a calculation worker.

    Type

      int

  property `preferred_gpu_toolkit`

    The preferred toolkit to use when running on GPUs.

    Type

      ComputeResources.GPUToolkit