FARMING

Describes a farming job, in which multiple inputs are executed. The RUN_TYPE in the global section has to be set to NONE for FARMING. The different groups are executed in parallel. The jobs inside the same groups in series. [Edit on GitHub]

Keywords

Keyword descriptions

CAPTAIN_MINION: logical = F

Lone keyword: T

Usage: CAPTAIN_MINION

If a captain/minion setup should be employed, in which one process (captain) is used to distribute the tasks. This is most useful to load-balance if not all jobs have the same length, and a lot of CPUs/groups are available. [Edit on GitHub]

CYCLE: logical = F

Lone keyword: T

Usage: CYCLE

If farming should process all jobs in a cyclic way, stopping only if MAX_JOBS_PER_GROUP is exceeded. [Edit on GitHub]

DO_RESTART: logical = F

Lone keyword: T

Usage: DO_RESTART

Restart a farming job (and should pick up where the previous left off) [Edit on GitHub]

GROUP_PARTITION: integer

Usage: group_partition 2 2 4 2 4

gives the exact number of processors for each group. [Edit on GitHub]

GROUP_SIZE: integer = 8

Usage: group_size 2

Gives the preferred size of a working group, groups will always be equal or larger than this size. [Edit on GitHub]

MAX_JOBS_PER_GROUP: integer = 65535

Aliases: MAX_JOBS

Usage: max_step 4

maximum number of jobs executed per group [Edit on GitHub]

NGROUPS: integer

Aliases: NGROUP

Usage: ngroups 4

Gives the preferred number of working groups. [Edit on GitHub]

RESTART_FILE_NAME: string

Usage: RESTART_FILE_NAME

Name of the restart file to use for restarting a FARMING run. If not specified the name is determined from PROJECT name. [Edit on GitHub]

STRIDE: integer = 1

Usage: STRIDE 2

Stride to be used when building working groups from the parent MPI comm. Can be used to layout minion groups over nodes in advanced ways (1 rank per node / 2 groups per node). [Edit on GitHub]

WAIT_TIME: real = 5.00000000E-001

Usage: WAIT_TIME 0.1

Time to wait [s] for a new task if no task is currently available, make this zero if no clock is available [Edit on GitHub]