示例#1
0
 def handle_get_tag_response(self, tag, board_address, response):
     if response.in_use:
         ip_address = response.ip_address
         host = "{}.{}.{}.{}".format(ip_address[0], ip_address[1],
                                     ip_address[2], ip_address[3])
         if response.is_reverse:
             self._tags[tag] = ReverseIPTag(board_address, tag,
                                            response.rx_port,
                                            response.spin_chip_x,
                                            response.spin_chip_y,
                                            response.spin_cpu,
                                            response.spin_port)
         else:
             self._tags[tag] = IPTag(board_address, tag, host,
                                     response.port, response.strip_sdp)
示例#2
0
# database params
socket_addresses = list()

reports_states = ReportState(False, False, False, False, False, False, False,
                             False, False, False)
machine_name = "192.168.240.253"
machine_version = 3
bmp_details = "None"
down_chips = "None"
down_cores = "None"
number_of_boards = 1
height = None
width = None
auto_detect_bmp = False
enable_reinjection = True
iptags.append(IPTag("192.168.240.253", 0, "0.0.0.0", 17896, True))
application_data.append(
    ReloadApplicationData("192.168.240.253_appData_0_0_1.dat", 0, 0, 1,
                          1612972032))
application_data.append(
    ReloadApplicationData("192.168.240.253_appData_0_0_2.dat", 0, 0, 2,
                          1612989276))
reload_routing_table = ReloadRoutingTable()
routing_tables.add_routing_table(
    reload_routing_table.reload("picked_routing_table_for_0_0"))
binaries.add_subsets(
    "C:\\Python27\\lib\\site-packages\\spynnaker\\pyNN\\model_binaries\\IF_curr_exp.aplx",
    CoreSubsets([
        CoreSubset(0, 0, [
            2,
        ]),
示例#3
0
buffered_tags = Tags()
buffered_placements = Placements()

wait_for_read_confirmation = True
database_socket_addresses = list()
database_file_path = r"/home/missx/spinnaker+gazebo/spinnaker-plugin/application_generated_data_files/latest/input_output_database.db"
send_start_notification = True

executable_targets = ExecutableTargets()
app_id = 30
runtime = 8000.0
time_scale_factor = 1
total_machine_timesteps = 8000
time_threshold = 5

iptags.append(IPTag("10.162.177.40", 2, "0.0.0.0", 17895, True))
reverse_iptags.append(ReverseIPTag("10.162.177.40", 1, 12345, 0, 0, 2))
reverse_iptags.append(ReverseIPTag("10.162.177.40", 0, 12346, 0, 0, 1))
router_tables.add_routing_table(
    ReloadRoutingTable.reload("picked_routing_table_for_0_0"))
database_socket_addresses.append(SocketAddress("localhost", 19997, None))
database_socket_addresses.append(SocketAddress("localhost", 19999, None))
dsg_targets[0, 0, 5] = \
    r"10.162.177.40_dataSpec_0_0_5.dat"
dsg_targets[0, 0, 1] = \
    r"10.162.177.40_dataSpec_0_0_1.dat"
dsg_targets[0, 0, 2] = \
    r"10.162.177.40_dataSpec_0_0_2.dat"
dsg_targets[0, 0, 3] = \
    r"10.162.177.40_dataSpec_0_0_3.dat"
dsg_targets[0, 0, 4] = \
buffered_tags = Tags()
buffered_placements = Placements()

routing_tables = MulticastRoutingTables()
# database params
socket_addresses = list()

reports_states = ReportState(False, False, False, False, False,
                             False, False, False, False, False)
machine_name = "192.168.240.253"
machine_version = 3
bmp_details = "None"
down_chips = "None"
down_cores = "None"
number_of_boards = 1
height = None
width = None
auto_detect_bmp = False
enable_reinjection = True
iptags.append(
    IPTag("192.168.240.253", 0, "0.0.0.0", 17896, True)) 
application_data.append(ReloadApplicationData(
    "192.168.240.253_appData_0_0_1.dat",
    0, 0, 1, 1612972032))
application_data.append(ReloadApplicationData(
    "192.168.240.253_appData_0_0_2.dat",
    0, 0, 2, 1612991232))
reload_routing_table = ReloadRoutingTable()
routing_tables.add_routing_table(reload_routing_table.reload("picked_routing_table_for_0_0"))
binaries.add_subsets("C:\\Python27\\lib\\site-packages\\spynnaker\\pyNN\\model_binaries\\IF_curr_exp.aplx", CoreSubsets([CoreSubset(0, 0, [2, ]),]))
    def __call__(self, machine, placements):
        """ see AbstractTagAllocatorAlgorithm.allocate_tags
        """

        resource_tracker = ResourceTracker(machine)

        # Check that the algorithm can handle the constraints
        progress_bar = ProgressBar(placements.n_placements, "Allocating tags")
        placements_with_tags = list()
        for placement in placements.placements:
            utility_calls.check_algorithm_can_support_constraints(
                constrained_vertices=[placement.subvertex],
                supported_constraints=[
                    TagAllocatorRequireIptagConstraint,
                    TagAllocatorRequireReverseIptagConstraint
                ],
                abstract_constraint_type=AbstractTagAllocatorConstraint)
            if len(
                    utility_calls.locate_constraints_of_type(
                        placement.subvertex.constraints,
                        AbstractTagAllocatorConstraint)):
                placements_with_tags.append(placement)
            progress_bar.update()

        # Go through and allocate the tags
        tags = Tags()
        for placement in placements_with_tags:
            vertex = placement.subvertex

            # Get the constraint details for the tags
            (board_address, ip_tags, reverse_ip_tags) =\
                utility_calls.get_ip_tag_info(vertex.constraints)

            # Allocate the tags, first-come, first-served, using the
            # fixed placement of the vertex, and the required resources
            chips = [(placement.x, placement.y)]
            resources = vertex.resources_required
            (_, _, _, returned_ip_tags, returned_reverse_ip_tags) = \
                resource_tracker.allocate_resources(
                    resources, chips, placement.p, board_address, ip_tags,
                    reverse_ip_tags)

            # Put the allocated ip tag information into the tag object
            if returned_ip_tags is not None:
                for (tag_constraint, (board_address,
                                      tag)) in zip(ip_tags, returned_ip_tags):
                    ip_tag = IPTag(board_address, tag,
                                   tag_constraint.ip_address,
                                   tag_constraint.port,
                                   tag_constraint.strip_sdp)
                    tags.add_ip_tag(ip_tag, vertex)

            # Put the allocated reverse ip tag information into the tag object
            if returned_reverse_ip_tags is not None:
                for (tag_constraint, (board_address,
                                      tag)) in zip(reverse_ip_tags,
                                                   returned_reverse_ip_tags):
                    reverse_ip_tag = ReverseIPTag(board_address, tag,
                                                  tag_constraint.port,
                                                  placement.x, placement.y,
                                                  placement.p,
                                                  tag_constraint.sdp_port)
                    tags.add_reverse_ip_tag(reverse_ip_tag, vertex)

        progress_bar.end()
        return {'tags': tags}
reverse_iptags = list()
buffered_tags = Tags()
buffered_placements = Placements()

routing_tables = MulticastRoutingTables()
# database params
socket_addresses = list()

reports_states = ReportState(False, False, False, False, False, False, False,
                             False, False, False)
machine_name = "192.168.240.253"
machine_version = 3
bmp_details = "None"
down_chips = "None"
down_cores = "None"
number_of_boards = 1
height = None
width = None
auto_detect_bmp = False
enable_reinjection = True
iptags.append(IPTag("192.168.240.253", 0, "0.0.0.0", 17896, True))
application_data.append(
    ReloadApplicationData("192.168.240.253_appData_0_0_1.dat", 0, 0, 1,
                          1612972032))
application_data.append(
    ReloadApplicationData("192.168.240.253_appData_0_0_2.dat", 0, 0, 2,
                          1612990560))
reload_routing_table = ReloadRoutingTable()
routing_tables.add_routing_table(
    reload_routing_table.reload("picked_routing_table_for_0_0"))