Houdini 17.5 Nodes TOP nodes

Partition by Attribute TOP node

Partitions work items based on their attributes

On this page

This node provides a variety of ways to partition work items based on their attributes.

Parameters

Use Dynamic Partitioning

When this toggle is enabled the partitioner will wait for all input work items to be generated before partitioning them. If the input work items are dynamic, this means the partitioner will have to wait for and depend on the parent(s) of those items.

Merge Input Attributes

When this toggle is enabled the partitioner will merge the attributes of the work items in each partition and export them to the partition itself.

Attributes

Partition By

Determines how to create partitions from the Attribute conditions.

Attribute Name

A partition is created for each distinct attribute name in the upstream work items. All work item that have that attribute are put into the partition.

When the Partition Attributes Independently toggle is off, a single partition is created for work items that have all of the specified attributes.

Specific Attribute Values

The same as Attribute Name, but the rather than simply having the attribute the work items in the partition must also have a specific value for the attribute. The value is specified using the Value parameter in each of the conditions.

When the Partition Attributes Independently toggle is off, a single partition is created for work items that have all of the specified attribute values.

Distinct Attribute Values

A partition is created for each distinct value of the specified attribute in the list upstream work items. For example if the distinct attribute is an integer, all the work items that have a value of 0 will be placed in the same partition, all the items with a value of 1 in a different partition, etc. The values do no need to begin with zero or be consecutive.

When the Partition Attributes Independently toggle is off, the values are placed into a tuple and a partition is created for each unique tuple.

Sort Direction

Only available when Partition By is set to Distinct Attribute Values,. Determines if partition are indexed in ascending or descending order based on their attribute values.

Partition Attributes Independently

Determines if the Attribute conditions should be considered individually or as a collective, single condition.

Create Partition for Unmatched Items

When this toggle is enabled an extra partition will be created that contains all work items that failed to match the other Attribute conditions.

Attributes

The number of attribute conditions.

Name

The name of the attribute.

Type

The type of the attribute, either Float, Integer, or String.

Index

This parameter determines the attribute index that the condition should check.

Value

When partitioning by Specific Attribute Value this parameter determines the attribute value that condition should check.

Advanced

These are advanced parameters that provide finer control over the behavior of the partitioner.

Auto Remove Stale Dependencies

When recooking the node, indicates that the partitioner should remove old dependencies if the partitioning scheme changes as a result of the cook.

Force Re-Evaluation on Cook

Forces the partitioner to re-evaluation the partitioning scheme even if all of the work items are already cooked and no new work items have been added.

Dirtying Mode

The dirty mode parameter offers fine grained control over when a partition is dirtied and the effects on child items when that occurs. This parameter is particularity useful for working around some of the limitation of using dynamic partitioning.

Standard

A given partition will be dirtied when any of the work items in the partition are dirtied. In the case of dynamic partitioning, if any ancestor of a dynamic work item in a partition is dirtied, then All partitions will be dirtied.

When a partition is dirtied all of its children are deleted.

Non-destructive

The same dirtying behavior as Standard, except when a partition is dirtied its children will be dirtied instead of deleted.

Mapping Standard

A given partition will only be dirtied if an item in the partition is dirtied or if the partition’s contents changes as a result of a recook. When the partition is dirtied, any child work items will be deleted.

Mapping Non-destructive

The same as Mapping Standard, except when a partition is dirtied its children will be dirtied instead of deleted.

Sort Contents By

Determines the order that work items are sorted when accessing the partitions on this node. This also affects the sort order of output files on the partition.

None

No sorting is applied - the work items in the partition are handled in no particular order.

Work Item Index

Work items in the partition are sorted based on their index

Input Node Order

Work items in the partition are sorted based on the order of inputs nodes wired into the partitioner itself. If two work items are from the same input, they are then sorted by index.

Attribute

Work items in the partition are sorted based on the attribute specified in the Sort Attribute parameter.

Sort Direction

Determines whether the work items in this node’s partitions are sorted in ascending or descending order.

Sort Attribute

When Sort Contents By is set to Attribute, this parameter is used to determine the name of the attribute to sort by.

Partition When

This parameter is only enabled when using dynamic partitioning. It controls when the partitioning step is performed on the input work items.

Input Items Are Generated

Inputs are partitioned once all of them have been generated.

Input Items Are Cooked

Inputs are partitioned once all of them are cooked. This is required when the partitioning scheme is based on the results of the work items' execution.

This makes this partitioner behave like a Wait for All except that it may create multiple partitions.

Partition Target

This parameter is only enabled when using dynamic partitioning. When the target is set, the partition scheme will be applied to the work items in the target TOP node instead of the input work items.

The target TOP node must be a processor in the same graph above this node, and there cannot be any other mappers or partitioner between this node and the target.

Examples

example_top_partitionbyattribute Example for Partition by Attribute TOP node

This example demonstrates how to use the partition by attribute node in PDG/TOPs.

The following examples include this node.

example_top_partitionbyattribute Example for Partition by Attribute TOP node

This example demonstrates how to use the partition by attribute node in PDG/TOPs.

See also

TOP nodes