Using and Administering

task_geometry

The task_geometry keyword allows you to group tasks of a parallel job step to run together on the same node. Although task_geometry allows for a great deal of flexibility in how tasks are grouped, you cannot specify the particular nodes that these groups run on; the scheduler will decide which nodes will run the specified groupings. The syntax is:

task_geometry={(task id,task id,...)(task id,task id, ...) ... }
 
 

In this example, a job with 6 tasks will run on 4 different nodes:

task_geometry={(0,1) (3) (5,4) (2)}
 
 

Each number in the example above represents a task id in a job, each set of parenthesis contains the task ids assigned to one node. The entire range of tasks specified must begin with 0, and must be complete; no number can be skipped (the largest task id number should end up being the value that is one less than the total number of tasks). The entire statement following the keyword must be enclosed in braces, and each grouping of nodes must be enclosed in parentheses. Commas can only appear between task ids, and spaces can only appear between nodes and task ids.

The task_geometry keyword cannot be specified under any of the following conditions: (a) the step is serial, (b) job_type is anything other than "parallel", or (c) any of the following keywords are specified: tasks_per_node, total_tasks, node, min_processors, max_processors, blocking. For more information, see Task Assignment Considerations.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]