def __init__(self, algorithms, inputs, xml_paths, required_outputs, do_timings=True): """ :return: """ AbstractProvidesProvenanceData.__init__(self) # provanence data store self._provanence_data = etree.Element("Provenance_data_from_PACMAN") # pacman mapping objects self._algorithms = list() # define mapping between types and internal values self._internal_type_mapping = defaultdict() # store timing request self._do_timing = do_timings self._set_up_pacman_algorthms_listings( algorithms, xml_paths, inputs, required_outputs) self._inputs = inputs
def __init__(self, machine_time_step, timescale_factor, ip_address, port, board_address=None, tag=None, strip_sdp=True, use_prefix=False, key_prefix=None, prefix_type=None, message_type=EIEIOType.KEY_32_BIT, right_shift=0, payload_as_time_stamps=True, use_payload_prefix=True, payload_prefix=None, payload_right_shift=0, number_of_packets_sent_per_time_step=0, constraints=None, label=None): """ """ if ((message_type == EIEIOType.KEY_PAYLOAD_32_BIT or message_type == EIEIOType.KEY_PAYLOAD_16_BIT) and use_payload_prefix and payload_as_time_stamps): raise ConfigurationException( "Timestamp can either be included as payload prefix or as " "payload to each key, not both") if ((message_type == EIEIOType.KEY_32_BIT or message_type == EIEIOType.KEY_16_BIT) and not use_payload_prefix and payload_as_time_stamps): raise ConfigurationException( "Timestamp can either be included as payload prefix or as" " payload to each key, but current configuration does not " "specify either of these") if (not isinstance(prefix_type, EIEIOPrefix) and prefix_type is not None): raise ConfigurationException( "the type of a prefix type should be of a EIEIOPrefix, " "which can be located in :" "spinnman.messages.eieio.eieio_prefix_type") if label is None: label = "Live Packet Gatherer" AbstractDataSpecableVertex.__init__( self, machine_time_step=machine_time_step, timescale_factor=timescale_factor) AbstractPartitionableVertex.__init__(self, n_atoms=1, label=label, max_atoms_per_core=1, constraints=constraints) AbstractProvidesProvenanceData.__init__(self) PartitionedVertex.__init__( self, label=label, resources_required=ResourceContainer( cpu=CPUCyclesPerTickResource( self.get_cpu_usage_for_atoms(1, None)), dtcm=DTCMResource(self.get_dtcm_usage_for_atoms(1, None)), sdram=SDRAMResource(self.get_sdram_usage_for_atoms(1, None)))) # Try to place this near the Ethernet self.add_constraint(PlacerRadialPlacementFromChipConstraint(0, 0)) # Add the IP Tag requirement self.add_constraint(TagAllocatorRequireIptagConstraint( ip_address, port, strip_sdp, board_address, tag)) self._prefix_type = prefix_type self._use_prefix = use_prefix self._key_prefix = key_prefix self._message_type = message_type self._right_shift = right_shift self._payload_as_time_stamps = payload_as_time_stamps self._use_payload_prefix = use_payload_prefix self._payload_prefix = payload_prefix self._payload_right_shift = payload_right_shift self._number_of_packets_sent_per_time_step = \ number_of_packets_sent_per_time_step