pacman.model.partitioner_splitters package

Module contents

class pacman.model.partitioner_splitters.SplitterOneAppOneMachine(splitter_name=None)

Bases: pacman.model.partitioner_splitters.abstract_splitters.abstract_splitter_common.AbstractSplitterCommon

NOT_SUITABLE_VERTEX_ERROR = 'The vertex {} cannot be supported by the {} as the vertex does not implement AbstractOneAppOneMachineVertex'
create_machine_vertices(chip_counter)[source]

Method for specific splitter objects to override.

Parameters:chip_counter (ChipCounter) – counter of used chips
get_in_coming_slices()[source]

The slices of the input vertices.

Returns:list of Slices
Return type:list(Slice)
get_in_coming_vertices(partition_id)[source]

Get machine post vertices for a given partition.

The input vertices are the ones that will serve as target vertices for external edges. Note this method returns all that could be used for any source machine vertex in the given partition.

Parameters:partition_id (str) – The identifier of the incoming partition
Return type:list(MachineVertex)
get_out_going_slices()[source]

The slices of the output vertices.

Returns:list of Slices
Return type:list(Slice)
get_out_going_vertices(partition_id)[source]

Get machine pre vertices

The output vertices are the ones that will serve as source vertices for external edges.

Parameters:partition_id (str) – The identifier of the outgoing partition
Return type:list(MachineVertex)
machine_vertices_for_recording(variable_to_record)[source]

Gets the machine vertices which are recording this variable.

Parameters:variable_to_record (str) – the variable to get machine verts for.
Returns:list of machine vertices
Return type:iterable(MachineVertex)
reset_called()[source]

reset the splitter to be as if it has not operated a splitting yet.

set_governed_app_vertex(app_vertex)[source]

Sets a app vertex to be governed by this splitter object. Once set it can’t be reset

Parameters:app_vertex (ApplicationVertex) – the app vertex to govern
Raises:PacmanConfigurationException – if the app vertex has already been set.
class pacman.model.partitioner_splitters.SplitterOneToOneLegacy

Bases: pacman.model.partitioner_splitters.abstract_splitters.abstract_splitter_common.AbstractSplitterCommon

NOT_API_WARNING = 'Your vertex is deprecated. Please add a Splitter or inherit from the class in pacman.model.partitioner_interfaces.legacy_partitioner_api'
NOT_SUITABLE_VERTEX_ERROR = 'The vertex {} cannot be supported by the {} as the vertex does not support the required method {} of LegacyPartitionerAPI. Please inherit from the class in pacman.model.partitioner_interfaces.legacy_partitioner_api and try again.'
create_machine_vertices(chip_counter)[source]

Method for specific splitter objects to override.

Parameters:chip_counter (ChipCounter) – counter of used chips
get_in_coming_slices()[source]

The slices of the input vertices.

Returns:list of Slices
Return type:list(Slice)
get_in_coming_vertices(partition_id)[source]

Get machine post vertices for a given partition.

The input vertices are the ones that will serve as target vertices for external edges. Note this method returns all that could be used for any source machine vertex in the given partition.

Parameters:partition_id (str) – The identifier of the incoming partition
Return type:list(MachineVertex)
get_out_going_slices()[source]

The slices of the output vertices.

Returns:list of Slices
Return type:list(Slice)
get_out_going_vertices(partition_id)[source]

Get machine pre vertices

The output vertices are the ones that will serve as source vertices for external edges.

Parameters:partition_id (str) – The identifier of the outgoing partition
Return type:list(MachineVertex)
machine_vertices_for_recording(variable_to_record)[source]

Gets the machine vertices which are recording this variable.

Parameters:variable_to_record (str) – the variable to get machine verts for.
Returns:list of machine vertices
Return type:iterable(MachineVertex)
reset_called()[source]

reset the splitter to be as if it has not operated a splitting yet.

set_governed_app_vertex(app_vertex)[source]

Sets a app vertex to be governed by this splitter object. Once set it can’t be reset

Parameters:app_vertex (ApplicationVertex) – the app vertex to govern
Raises:PacmanConfigurationException – if the app vertex has already been set.
class pacman.model.partitioner_splitters.SplitterFixedLegacy(splitter_name=None)

Bases: pacman.model.partitioner_splitters.abstract_splitters.abstract_splitter_common.AbstractSplitterCommon

NOT_API_WARNING = 'Your vertex is deprecated. Please add a Splitter or inherit from the class in pacman.model.partitioner_interfaces.legacy_partitioner_api'
NOT_SUITABLE_VERTEX_ERROR = 'The vertex {} cannot be supported by the {} as the vertex does not support the required method {} of LegacyPartitionerAPI. Please inherit from the class in pacman.model.partitioner_interfaces.legacy_partitioner_api and try again.'
SPLITTER_NAME = 'SplitterFixedLegacy'
create_machine_vertices(chip_counter)[source]

Method for specific splitter objects to override.

Parameters:chip_counter (ChipCounter) – counter of used chips
get_in_coming_slices()[source]

The slices of the input vertices.

Returns:list of Slices
Return type:list(Slice)
get_in_coming_vertices(partition_id)[source]

Get machine post vertices for a given partition.

The input vertices are the ones that will serve as target vertices for external edges. Note this method returns all that could be used for any source machine vertex in the given partition.

Parameters:partition_id (str) – The identifier of the incoming partition
Return type:list(MachineVertex)
get_out_going_slices()[source]

The slices of the output vertices.

Returns:list of Slices
Return type:list(Slice)
get_out_going_vertices(partition_id)[source]

Get machine pre vertices

The output vertices are the ones that will serve as source vertices for external edges.

Parameters:partition_id (str) – The identifier of the outgoing partition
Return type:list(MachineVertex)
machine_vertices_for_recording(variable_to_record)[source]

Gets the machine vertices which are recording this variable.

Parameters:variable_to_record (str) – the variable to get machine verts for.
Returns:list of machine vertices
Return type:iterable(MachineVertex)
reset_called()[source]

reset the splitter to be as if it has not operated a splitting yet.

set_governed_app_vertex(app_vertex)[source]

Sets a app vertex to be governed by this splitter object. Once set it can’t be reset

Parameters:app_vertex (ApplicationVertex) – the app vertex to govern
Raises:PacmanConfigurationException – if the app vertex has already been set.