Skip to contents

Submit workers to the cluster, use this in conjunction with hipercow_rrq_controller. A worker may sit on a single core or a whole node depending on how you set up resources. We use the rrq environment if it exists (hipercow_environment_create) otherwise we'll use the default environment.

Usage

hipercow_rrq_workers_submit(
  n,
  driver = NULL,
  resources = NULL,
  envvars = NULL,
  parallel = NULL,
  timeout = NULL,
  progress = NULL,
  root = NULL
)

Arguments

n

The number of workers to submit. This is the only required argument.

driver

Name of the driver to use. The default (NULL) depends on your configured drivers; if you have no drivers configured we will error as we lack information required to proceed. If you have exactly one driver configured we'll submit your task with it. If you have more than one driver configured, then we will error, though in future versions we may fall back on a default driver if you have one configured.

resources

A list generated by hipercow_resources giving the cluster resource requirements to run your task.

envvars

Environment variables as generated by hipercow_envvars, which you might use to control your task.

parallel

Parallel configuration as generated by hipercow_parallel, which defines which method, if any, will be used to initialise your worker for parallel execution (which means you have to think about parallelism at three levels at least, a diagram may help here).

timeout

Time to wait for workers to appear.

progress

Should we display a progress bar?

root

A hipercow root, or path to it. If NULL we search up your directory tree.

Value

A data.frame with information about the launch, with columns:

  • queue_id: the rrq queue id (same for all workers)

  • worker_id: the rrq worker identifier

  • task_id: the hipercow task identifier

  • bundle_name: the hipercow bundle name (same for all workers)