pacman.operations.algorithm_reports package

Submodules

pacman.operations.algorithm_reports.convert_to_json_machine_graph module

class pacman.operations.algorithm_reports.convert_to_json_machine_graph.ConvertToJsonMachineGraph[source]

Bases: object

Converter from MulticastRoutingTables to json

static do_convert(machine_graph, file_path, progress=None)[source]

Runs the code to write the machine in Java readable JSON.

Parameters:

pacman.operations.algorithm_reports.convert_to_json_routing_tables module

class pacman.operations.algorithm_reports.convert_to_json_routing_tables.ConvertToJsonRoutingTables[source]

Bases: object

Converter from MulticastRoutingTables to json

static do_convert(router_table, file_path, progress=None)[source]

Runs the code to write the machine in Java readable JSON.

Parameters:
  • machine (spinn_machine.machine.Machine) – Machine to convert
  • file_path (str) – Location to write file to. Warning will overwrite!

pacman.operations.algorithm_reports.network_specification module

class pacman.operations.algorithm_reports.network_specification.NetworkSpecification[source]

Bases: object

Generate report on the user’s network specification.

pacman.operations.algorithm_reports.reports module

pacman.operations.algorithm_reports.reports.format_route(entry)[source]
pacman.operations.algorithm_reports.reports.generate_comparison_router_report(report_folder, routing_tables, compressed_routing_tables)[source]

Make a report on comparison of the compressed and uncompressed routing tables

Parameters:
  • report_folder – the folder to store the resulting report
  • routing_tables – the original routing tables
  • compressed_routing_tables – the compressed routing tables
Return type:

None

pacman.operations.algorithm_reports.reports.partitioner_report(report_folder, hostname, graph, graph_mapper)[source]

Generate report on the placement of vertices onto cores. :param report_folder: the folder to which the reports are being written :param hostname: the machine’s hostname to which the placer worked on

pacman.operations.algorithm_reports.reports.placement_report_with_application_graph_by_core(report_folder, hostname, placements, machine, graph_mapper)[source]

Generate report on the placement of vertices onto cores by core.

Parameters:
  • report_folder – the folder to which the reports are being written
  • hostname – the machine’s hostname to which the placer worked on
  • graph_mapper – the mapping between application and machine graphs
  • machine – the SpiNNaker machine object
  • placements – the placements objects built by the placer.
pacman.operations.algorithm_reports.reports.placement_report_with_application_graph_by_vertex(report_folder, hostname, graph, graph_mapper, placements)[source]

Generate report on the placement of vertices onto cores by vertex.

Parameters:
  • report_folder – the folder to which the reports are being written
  • hostname – the machine’s hostname to which the placer worked on
  • graph – the graph to which placements were built
  • graph_mapper – the mapping between graphs
  • placements – the placements objects built by the placer.
pacman.operations.algorithm_reports.reports.placement_report_without_application_graph_by_core(report_folder, hostname, placements, machine)[source]

Generate report on the placement of vertices onto cores by core.

Parameters:
  • report_folder – the folder to which the reports are being written
  • hostname – the machine’s hostname to which the placer worked on
  • machine – the SpiNNaker machine object
  • placements – the placements objects built by the placer.
pacman.operations.algorithm_reports.reports.placement_report_without_application_graph_by_vertex(report_folder, hostname, placements, machine_graph)[source]

Generate report on the placement of vertices onto cores by vertex.

Parameters:
  • report_folder – the folder to which the reports are being written
  • hostname – the machine’s hostname to which the placer worked on
  • placements – the placements objects built by the placer.
  • machine_graph – the machine graph generated by the end user
pacman.operations.algorithm_reports.reports.placer_reports_with_application_graph(report_folder, hostname, graph, graph_mapper, placements, machine)[source]

Reports that can be produced from placement given a application graph’s existence

Parameters:
  • report_folder – the folder to which the reports are being written
  • hostname – the machine’s hostname to which the placer worked on
  • graph – the application graph to which placements were built
  • graph_mapper – the mapping between application and machine graphs
  • placements – the placements objects built by the placer.
  • machine – the python machine object
Return type:

None

pacman.operations.algorithm_reports.reports.placer_reports_without_application_graph(report_folder, hostname, machine_graph, placements, machine)[source]
Parameters:
  • report_folder – the folder to which the reports are being written
  • hostname – the machine’s hostname to which the placer worked on
  • placements – the placements objects built by the placer.
  • machine – the python machine object
  • machine_graph – the machine graph to which the reports are to operate on
Return type:

None

pacman.operations.algorithm_reports.reports.router_compressed_summary_report(report_folder, routing_tables, hostname, machine)[source]

Generates a text file of routing summaries

Parameters:
  • report_folder – the report folder to store this value
  • routing_tables – the original routing tables
  • hostname – the machine’s hostname to which the placer worked on
  • machine – the python machine object
Return type:

None

pacman.operations.algorithm_reports.reports.router_report_from_compressed_router_tables(report_folder, routing_tables)[source]
Parameters:
  • report_folder – the report folder to store this value
  • routing_tables – the original routing tables
Return type:

None

pacman.operations.algorithm_reports.reports.router_report_from_paths(report_folder, routing_tables, routing_infos, hostname, machine_graph, placements, machine)[source]

Generates a text file of routing paths

Parameters:
  • report_folder – the report folder to store this value
  • routing_tables – the original routing tables
  • hostname – the machine’s hostname to which the placer worked on
  • routing_infos
  • machine_graph
  • placements
  • machine – the python machine object
Return type:

None

pacman.operations.algorithm_reports.reports.router_report_from_router_tables(report_folder, routing_tables)[source]
Parameters:
  • report_folder – the report folder to store this value
  • routing_tables – the original routing tables
Return type:

None

pacman.operations.algorithm_reports.reports.router_summary_report(report_folder, routing_tables, hostname, machine)[source]

Generates a text file of routing summaries

Parameters:
  • report_folder – the report folder to store this value
  • routing_tables – the original routing tables
  • hostname – the machine’s hostname to which the placer worked on
  • machine – the python machine object
Return type:

None

pacman.operations.algorithm_reports.reports.routing_info_report(report_folder, machine_graph, routing_infos)[source]

Generates a report which says which keys is being allocated to each vertex

Parameters:
  • report_folder – the report folder to store this value
  • machine_graph
  • routing_infos
pacman.operations.algorithm_reports.reports.sdram_usage_report_per_chip(report_folder, hostname, placements, machine, plan_n_timesteps, data_n_timesteps)[source]

Reports the SDRAM used per chip

Parameters:
  • report_folder – the folder to which the reports are being written
  • hostname – the machine’s hostname to which the placer worked on
  • placements – the placements objects built by the placer.
  • machine – the python machine object
  • plan_n_timesteps – The number of timesteps for which placer reserved space.
  • data_n_timesteps – The number of timesteps for which data can be saved on the machine.
Return type:

None

pacman.operations.algorithm_reports.reports.tag_allocator_report(report_folder, tag_infos)[source]

Reports the tags that are being used by the tool chain for this simulation

Parameters:
  • report_folder – the folder to which the reports are being written
  • tag_infos – the tags container generated by the tools.
Return type:

None

pacman.operations.algorithm_reports.routing_compression_checker_report module

pacman.operations.algorithm_reports.routing_compression_checker_report.calc_remainders(o_code, c_code)[source]
pacman.operations.algorithm_reports.routing_compression_checker_report.codify(route, length=32)[source]

This method discovers all the routing keys covered by this route.

Starts of with the assumption that the key is always covered.

Whenever a mask bit is zero the list of covered keys is doubled to include both the key with a zero and a one at that place.

Parameters:
Returns:

set of routing_keys covered by this route

Return type:

str

pacman.operations.algorithm_reports.routing_compression_checker_report.codify_table(table, length=32)[source]
pacman.operations.algorithm_reports.routing_compression_checker_report.compare_route(o_route, compressed_dict, o_code=None, start=0, f=None)[source]
pacman.operations.algorithm_reports.routing_compression_checker_report.compare_tables(original, compressed)[source]

Compares the two tables without generating any out

Parameters:
  • original – The orginal routing tables
  • compressed – The compressed routing tables. Which will be considered in order.
Raises:

PacmanRoutingException if there is any error

pacman.operations.algorithm_reports.routing_compression_checker_report.covers(o_code, c_code)[source]
pacman.operations.algorithm_reports.routing_compression_checker_report.generate_routing_compression_checker_report(report_folder, routing_tables, compressed_routing_tables)[source]

Make a full report of how the compressed covers all routes in the and uncompressed routing table

Parameters:
  • report_folder – the folder to store the resulting report
  • routing_tables – the original routing tables
  • compressed_routing_tables – the compressed routing tables
Return type:

None

Module contents