matflow.ResourceSpec#

class matflow.ResourceSpec(scope=None, scratch=None, parallel_mode=None, num_cores=None, num_cores_per_node=None, num_threads=None, num_nodes=None, scheduler=None, shell=None, use_job_array=None, max_array_items=None, time_limit=None, scheduler_args=None, shell_args=None, os_name=None, environments=None, SGE_parallel_env=None, SLURM_partition=None, SLURM_num_tasks=None, SLURM_num_tasks_per_node=None, SLURM_num_nodes=None, SLURM_num_cpus_per_task=None)#

Bases: ResourceSpec

Class to represent specification of resource requirements for a (set of) actions.

Notes

os_name is used for retrieving a default shell name and for retrieving the correct Shell class; when using WSL, it should still be nt (i.e. Windows).

Methods

copy_non_persistent

Make a non-persistent copy.

from_json_like

make_persistent

Save to a persistent workflow.

to_dict

to_json_like

Attributes

ALLOWED_PARAMETERS

SGE_parallel_env

SLURM_num_cpus_per_task

SLURM_num_nodes

SLURM_num_tasks

SLURM_num_tasks_per_node

SLURM_partition

app

element_set

environments

max_array_items

normalised_path

normalised_resources_path

num_cores

num_cores_per_node

num_nodes

num_threads

os_name

parallel_mode

scheduler

scheduler_args

scratch

shell

shell_args

time_limit

use_job_array

workflow

workflow_template

Parameters:
  • scope (app.ActionScope) –

  • scratch (Optional[str]) –

  • parallel_mode (Optional[Union[str, ParallelMode]]) –

  • num_cores (Optional[int]) –

  • num_cores_per_node (Optional[int]) –

  • num_threads (Optional[int]) –

  • num_nodes (Optional[int]) –

  • scheduler (Optional[str]) –

  • shell (Optional[str]) –

  • use_job_array (Optional[bool]) –

  • max_array_items (Optional[int]) –

  • time_limit (Optional[Union[str, timedelta]]) –

  • scheduler_args (Optional[Dict]) –

  • shell_args (Optional[Dict]) –

  • os_name (Optional[str]) –

  • environments (Optional[Dict]) –

  • SGE_parallel_env (Optional[str]) –

  • SLURM_partition (Optional[str]) –

  • SLURM_num_tasks (Optional[str]) –

  • SLURM_num_tasks_per_node (Optional[str]) –

  • SLURM_num_nodes (Optional[str]) –

  • SLURM_num_cpus_per_task (Optional[str]) –

ALLOWED_PARAMETERS = {'SGE_parallel_env', 'SLURM_num_cpus_per_task', 'SLURM_num_nodes', 'SLURM_num_tasks', 'SLURM_num_tasks_per_node', 'SLURM_partition', 'environments', 'max_array_items', 'num_cores', 'num_cores_per_node', 'num_nodes', 'num_threads', 'os_name', 'parallel_mode', 'scheduler', 'scheduler_args', 'scratch', 'shell', 'shell_args', 'time_limit', 'use_job_array'}#
property SGE_parallel_env#
property SLURM_num_cpus_per_task#
property SLURM_num_nodes#
property SLURM_num_tasks#
property SLURM_num_tasks_per_node#
property SLURM_partition#
app = App(name='MatFlow', version='0.3.0a129')#
copy_non_persistent()#

Make a non-persistent copy.

property element_set#
property environments#
classmethod from_json_like(json_like, shared_data=None)#
Parameters:
  • json_like (Union[Dict, List]) –

  • shared_data (Optional[Dict[str, ObjectList]]) –

make_persistent(workflow, source)#

Save to a persistent workflow.

Returns:

  • String is the data path for this task input and integer list

  • contains the indices of the parameter data Zarr groups where the data is

  • stored.

Parameters:
Return type:

Tuple[str, List[int], bool]

property max_array_items#
property normalised_path#
property normalised_resources_path#
property num_cores#
property num_cores_per_node#
property num_nodes#
property num_threads#
property os_name#
property parallel_mode#
property scheduler#
property scheduler_args#
property scratch#
property shell#
property shell_args#
property time_limit#
to_dict()#
to_json_like(dct=None, shared_data=None, exclude=None, path=None)#
property use_job_array#
property workflow#
property workflow_template#