Ejemplo n.º 1
0
 def _execute_synapse_expander(self):
     with FecTimer(LOADING, "Synapse expander") as timer:
         if timer.skip_if_virtual_board():
             return
         synapse_expander(
             self.placements, self._txrx, self._executable_finder,
             get_config_bool("Reports", "write_expander_iobuf"))
Ejemplo n.º 2
0
 def _execute_write_network_graph(self):
     with FecTimer(
             MAPPING,
             "SpYNNakerNeuronGraphNetworkSpecificationReport") as timer:
         if timer.skip_if_cfg_false("Reports", "write_network_graph"):
             return
         spynnaker_neuron_graph_network_specification_report(
             self._application_graph)
Ejemplo n.º 3
0
 def _execute_on_chip_bit_field_generator(self):
     with FecTimer(LOADING, "Execute on chip bitfield generator") as timer:
         if timer.skip_if_virtual_board():
             return
         on_chip_bitfield_generator(
             self.placements, self.application_graph,
             self._executable_finder,  self._txrx, self._machine_graph,
             self._routing_infos)
Ejemplo n.º 4
0
 def _execute_splitter_partitioner(self, pre_allocated_resources):
     if not self._application_graph.n_vertices:
         return
     with FecTimer(MAPPING,  "SpynnakerSplitterPartitioner"):
         if self._machine:
             machine = self._machine
         else:
             machine = self._max_machine
         self._machine_graph, self._n_chips_needed = \
             spynnaker_splitter_partitioner(
                 self._application_graph, machine, self._plan_n_timesteps,
                 pre_allocated_resources)
Ejemplo n.º 5
0
 def _execute_delay_support_adder(self):
     """
     Runs, times and logs the DelaySupportAdder if required
     """
     name = get_config_str("Mapping", "delay_support_adder")
     if name is None:
         return
     with FecTimer(MAPPING, "DelaySupportAdder"):
         if name == "DelaySupportAdder":
             delay_support_adder(self._application_graph)
             return
         raise ConfigurationException(
             f"Unexpected cfg setting delay_support_adder: {name}")
Ejemplo n.º 6
0
 def _execute_spynnaker_pair_compressor(self):
     with FecTimer(
             LOADING, "Spynnaker machine bitfield pair router compressor") \
             as timer:
         if timer.skip_if_virtual_board():
             return
         spynnaker_machine_bitField_pair_router_compressor(
             self._router_tables, self._txrx, self._machine, self._app_id,
             self._machine_graph, self._placements, self._executable_finder,
             self._routing_infos, self._executable_targets,
             get_config_bool("Reports", "write_expander_iobuf"))
         self._multicast_routes_loaded = True
         return None
Ejemplo n.º 7
0
 def _execute_splitter_selector(self):
     with FecTimer(MAPPING, "Spynnaker splitter selector"):
         spynnaker_splitter_selector(self._application_graph)
Ejemplo n.º 8
0
 def _report_redundant_packet_count(self):
     with FecTimer(RUN_LOOP, "Redundant packet count report") as timer:
         if timer.skip_if_cfg_false(
                 "Reports", "write_redundant_packet_count_report"):
             return
         redundant_packet_count_report()
Ejemplo n.º 9
0
 def _execute_finish_connection_holders(self):
     with FecTimer(LOADING, "Finish connection holders"):
         finish_connection_holders(self.application_graph)
Ejemplo n.º 10
0
 def _execute_graph_data_specification_writer(self):
     with FecTimer(DATA_GENERATION, "Spynnaker data specification writer"):
         self._dsg_targets = spynnaker_data_specification_writer(
             self._placements, self._ipaddress, self._machine,
             self._app_id, self._max_run_time_steps)
Ejemplo n.º 11
0
def fancy_do_load(graph_changed):
    with FecTimer("WEIRD", "KeyConstraintAdder"):
        simulator = get_simulator()
        adder = KeyConstraintAdder()
        adder(simulator.machine_graph)
    simulator.do_load_normal(graph_changed)