Source code for spinn_front_end_common.abstract_models.impl.machine_data_specable_vertex
from pacman.model.decorators import overrides
from pacman.executor.injection_decorator \
import supports_injection, inject_items
from spinn_front_end_common.abstract_models \
import AbstractGeneratesDataSpecification
from abc import abstractmethod
[docs]@supports_injection
class MachineDataSpecableVertex(AbstractGeneratesDataSpecification):
__slots__ = ()
[docs] @inject_items({
"machine_graph": "MemoryMachineGraph",
"routing_info": "MemoryRoutingInfos",
"tags": "MemoryTags",
"machine_time_step": "MachineTimeStep",
"time_scale_factor": "TimeScaleFactor"
})
@overrides(
AbstractGeneratesDataSpecification.generate_data_specification,
additional_arguments={
"machine_graph", "routing_info", "tags",
"machine_time_step", "time_scale_factor"
})
def generate_data_specification(
self, spec, placement, machine_graph, routing_info, tags,
machine_time_step, time_scale_factor):
iptags = tags.get_ip_tags_for_vertex(placement.vertex)
reverse_iptags = tags.get_reverse_ip_tags_for_vertex(placement.vertex)
self.generate_machine_data_specification(
spec, placement, machine_graph, routing_info, iptags,
reverse_iptags, machine_time_step, time_scale_factor)
[docs] @abstractmethod
def generate_machine_data_specification(
self, spec, placement, machine_graph, routing_info, iptags,
reverse_iptags, machine_time_step, time_scale_factor):
pass