Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cfg checker #1193

Merged
merged 5 commits into from
Jul 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 28 additions & 102 deletions spinn_front_end_common/interface/spinnaker.cfg
Original file line number Diff line number Diff line change
@@ -1,46 +1,11 @@
# DO NOT EDIT
# See https://spinnakermanchester.github.io/spynnaker/PyNNOnSpinnakerInstall.html Section Configuration
# See spinnakermanchester.github.io/common_pages/Algorithms.html
# DO NOT EDIT!
# The are the default values
# Edit the cfg in your home directory to change your preferences
# Add / Edit a cfg in the run directory for script specific changes

# Adds or overwrites values in PACMAN/pacman/pacman.cfg and SpiNNMan/spinnman/spinnman.cfg
# Which in turn adds or overwrites values in SpiNNUtils/spinn_utilities/spinn_utilities.cfg

[Logging]
# ------
# Logging levels are as specified for the Python logging module.
# Listing a module below overrides the default logging level for that module
# and its children (unless they are also overridden).
#
# e.g., the following sample would set the default level to info, but display
# debug messages for pacman103.front.pynn, and only display warning messages
# for pacman.core
#
# default = info
# debug = front.pynn
# info =
# warning = core
# error =
# critical =
#
# The ```instantiate``` option determines whether front-ends set up loggers.
# If ```instantiate``` is True then users do not need to set up their own
# loggers. If it is False, then users need to instantiate a logger at the top
# of each script, this is simply achieved by inserting the following lines at
# the top of the file.
#
# include logging
# logger = logging.basicConfig()
#
instantiate = True
default = info
debug =
info =
warning =
error =
critical =

# Note log levels set above does not change the log message reported at the
# end of the run
# Adds to values in PACMAN/pacman/pacman.cfg and SpiNNMan/spinnman/spinnman.cfg
# Which in turn adds to values in SpiNNUtils/spinn_utilities/spinn_utilities.cfg
# and SpiNNMachine/spinn_machine/spinn_machine.cfg

[Reports]
# If reportsEnabled is false, no text reports are written.
Expand All @@ -52,10 +17,8 @@ reports_enabled = True
write_energy_report = False
write_router_reports = False
write_router_summary_report = False
write_compressed_router_summary_report = False
write_partitioner_reports = True
write_application_graph_placer_report = True
write_machine_graph_placer_report = False
write_router_info_report = True
write_uncompressed = False
write_compressed = False
Expand All @@ -75,19 +38,15 @@ write_board_chip_report = True
write_data_speed_up_reports = False
write_sdram_usage_report_per_chip = True
write_json_machine = False
write_json_machine_graph = False
write_json_placements = False
write_json_routing_tables = False
write_json_partition_n_keys_map = False
write_compressor_iobuf = False
write_bit_field_compressor_report = False
write_router_compression_with_bitfield_report = True
write_drift_report_start = False
write_drift_report_end = False
write_text_specs = False

max_reports_kept = 10
max_application_binaries_kept = 10
remove_errored_folders = False

display_algorithm_timings = True
Expand All @@ -100,6 +59,11 @@ provenance_report_cutoff = 20

drift_report_ethernet_only = True

# NOTE ***that for bespoke file paths, folders will not be automatically deleted***
# options are DEFAULT or a file path
# Note for hard coded locations a "reports" sub directory will be added
default_report_file_path = DEFAULT

[Machine]
#-------
# Information about the target SpiNNaker board or machine:
Expand All @@ -111,8 +75,6 @@ drift_report_ethernet_only = True
# timeScaleFactor: Change this to slow down the simulation time
# relative to real time.
# appID: Used by sark to identify the user's application.
machine_spec_file = None

spalloc_port = 22244
spalloc_user = None
spalloc_group = None
Expand All @@ -121,18 +83,9 @@ spalloc_use_proxy = True
# A comma seperated list of ip addresses to avoid.
spalloc_avoid_boards = None

# If using virtual_board both width and height must be set
virtual_board = False
MaxSDRAMSize = 134217728

simulation_time_step = 1000
time_scale_factor = None

# For the max virtual machine this can be reduced by
max_machine_core_reduction = 1

# Currently unused
number_of_boards = None

clear_routing_tables = False
clear_tags = False
Expand All @@ -144,6 +97,20 @@ disable_advanced_monitor_usage_for_data_in = False
reset_machine_on_startup = False
post_simulation_overrun_before_error = 5

# format is:
# bmp_names = <host>[/(<board-range>|board_id[,board_id]*)
# <board_range> = <board_id>-<board_id>
# where:
# <host> is the hostname or IP address of the BMP
# <board_range> is a range of boards that the BMP can speak to
# <board_id> is the ID of a single board in a frame
# Note this no longer supports multiple host nor cabinet or frame
bmp_names = None

auto_detect_bmp = False

# Note: if json_path is set all other configs for virtual boards are ignored
json_path = None

[Mapping]
placer = ApplicationPlacer
Expand All @@ -158,58 +125,17 @@ virtual_compressor = PairCompressor
# If True will read compressed routing tables and check them
run_compression_checker = True

router_table_compression_with_bit_field_use_time_cutoff = True
router_table_compression_with_bit_field_iteration_time = 1000
router_table_compression_with_bit_field_pre_alloced_sdram = 10000
router_table_compression_with_bit_field_acceptance_threshold = 0
router_table_compression_with_bit_field_retry_count = None

# format is <path1>,<path2>
extra_xmls_paths = None

[Simulation]

# performance controller to ensure only so many packets from a given
# app vertex happen at any given time (aka how many machine vertices
# from this app vertex can fire at same time)
app_machine_quantity = 25

# performance controller for how long to wait in-between cores firing. Used
# as a throttle to handle slow core processing. Only one of the following
# can be not None, though if both are, this will be computed:
# time_between_cores unit = microseconds
time_between_cores = None
# or clock_cycles_between_cores unit = clock cycles
clock_cycles_between_cores = None

# performance controller for how much of the time step to use for sending.
# Only one of the following can be not None:
fraction_of_time_spike_sending = 0.8
clock_cycles_sending = None

# performance controller for how much of the time step to use for before the
# TDMA. Only one of the following can be not None:
fraction_of_time_before_sending = None
clock_cycles_before_sending = 600

# performance controller for how much of the time step to use for spreading
# application vertices. Only one of the following can be not None:
fraction_of_time_for_offset = None
clock_cycles_for_offset = 1000


[Buffers]
use_auto_pause_and_resume = True
chip_power_monitor_buffer = 1048576
store_buffer_data_in_file = True
#chip_power_monitor_buffer = 1048576
#store_buffer_data_in_file = True
minimum_auto_time_steps = 1000

[Mode]
# mode = Production or Debug
# In Debug mode all report Boolean config values are automitcally overwritten to True

mode = Production
violate_1ms_wall_clock_restriction = False

[Database]
create_database = None
Expand Down
2 changes: 1 addition & 1 deletion spinn_front_end_common/interface/spinnaker.cfg.template
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ spalloc_group = None

# If using virtual_board both width and height must be set
virtual_board = False
# Allowed values pairs are (2,2) (8,8) (n*12,m*12) and (n*12+4, m*12+4)
# Allowed values pairs are (1,1) (2,2) (8,8) (n*12,m*12) and (n*12+4, m*12+4)
width = None
height = None

Expand Down
3 changes: 1 addition & 2 deletions unittests/test_cfg_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,4 @@ def test_cfg_checker(self):
fec_dir = spinn_front_end_common.__path__[0]
local = os.path.join(parent, "fec_local_tests")
fec_it = os.path.join(parent, "fec_integration_tests")
run_config_checks(directories=[
fec_dir, local, fec_it, unittests])
run_config_checks(directories=[fec_dir, local, fec_it, unittests])