2626
2727
2828from spinn_utilities .log import FormatAdapter
29- from spinn_utilities .config_holder import (
30- get_config_bool , get_config_str_or_none )
29+ from spinn_utilities .config_holder import get_config_bool
3130from spinn_utilities .overrides import overrides
3231
3332from spinn_front_end_common .interface .abstract_spinnaker_base import (
3635 add_spinnaker_template )
3736from spinn_front_end_common .interface .provenance import (
3837 FecTimer , GlobalProvenance , TimerCategory , TimerWork )
39- from spinn_front_end_common .utilities .exceptions import ConfigurationException
4038
4139from spynnaker import _version
4240from spynnaker .pyNN import model_binaries
5452 finish_connection_holders )
5553from spynnaker .pyNN .extra_algorithms .splitter_components import (
5654 spynnaker_splitter_selector )
55+ from spynnaker .pyNN .models .neural_projections import ProjectionApplicationEdge
5756from spynnaker .pyNN .utilities .neo_buffer_database import NeoBufferDatabase
5857
5958
@@ -395,6 +394,17 @@ def _do_provenance_reports(self) -> None:
395394 AbstractSpinnakerBase ._do_provenance_reports (self )
396395 self ._report_redundant_packet_count ()
397396
397+ @overrides (AbstractSpinnakerBase ._execute_graph_provenance )
398+ def _execute_graph_provenance (self ) -> None :
399+ with FecTimer ("Graph provenance" , TimerWork .OTHER ) as timer :
400+ if timer .skip_if_cfg_false ("Reports" ,
401+ "read_graph_provenance_data" ):
402+ return
403+ for partition in self ._data_writer .iterate_partitions ():
404+ for edge in partition .edges :
405+ if isinstance (edge , ProjectionApplicationEdge ):
406+ edge .get_local_provenance_data ()
407+
398408 def _report_redundant_packet_count (self ) -> None :
399409 with FecTimer ("Redundant packet count report" ,
400410 TimerWork .REPORT ) as timer :
@@ -413,20 +423,15 @@ def _execute_splitter_selector(self) -> None:
413423 def _execute_delay_support_adder (self ) -> None :
414424 """
415425 Runs, times and logs the DelaySupportAdder if required.
426+ # Check for option removed Jan 2026
416427 """
417- name = get_config_str_or_none ("Mapping" , "delay_support_adder" )
418- if name is None :
419- return
420428 with FecTimer ("DelaySupportAdder" , TimerWork .OTHER ):
421- if name == "DelaySupportAdder" :
422- d_vertices , d_edges = delay_support_adder ()
423- for vertex in d_vertices :
424- self .__writer .add_vertex (vertex )
425- for edge , partition_id in d_edges :
426- self .__writer .add_edge (edge , partition_id )
427- return
428- raise ConfigurationException (
429- f"Unexpected cfg setting delay_support_adder: { name } " )
429+ d_vertices , d_edges = delay_support_adder ()
430+ for vertex in d_vertices :
431+ self .__writer .add_vertex (vertex )
432+ for edge , partition_id in d_edges :
433+ self .__writer .add_edge (edge , partition_id )
434+ return
430435
431436 @overrides (AbstractSpinnakerBase .reset )
432437 def reset (self ) -> None :
0 commit comments