From 00286c7c738546bcd96c3bb82288285f91343f79 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Tue, 7 Mar 2023 08:54:45 +0000 Subject: [PATCH 01/48] Rename LICENSE.md It's not the license itself (which is in the LICENSE file). It's how we want people to think about licenses in our software. --- LICENSE.md => LICENSE_POLICY.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LICENSE.md => LICENSE_POLICY.md (100%) diff --git a/LICENSE.md b/LICENSE_POLICY.md similarity index 100% rename from LICENSE.md rename to LICENSE_POLICY.md From 6148dc5fce938d6d29fc7a7989f9ab24984e5c78 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 7 Mar 2023 15:22:33 +0000 Subject: [PATCH 02/48] convert to https://www.apache.org/licenses/LICENSE-2.0 --- .github/workflows/c_actions.yml | 2 +- .github/workflows/python_actions.yml | 2 +- .pylintrc | 2 +- CITATION.cff | 2 +- LICENSE | 2 +- doc/Makefile | 2 +- doc/doc_requirements.txt | 2 +- doc/make.bat | 2 +- doc/source/conf.py | 2 +- gfe_examples/Conways/Makefile | 2 +- gfe_examples/Conways/__init__.py | 2 +- gfe_examples/Conways/no_edges_examples/__init__.py | 2 +- gfe_examples/Conways/no_edges_examples/conways_basic_cell.py | 2 +- gfe_examples/Conways/no_edges_examples/conways_no_edges.py | 2 +- gfe_examples/Conways/one_no_graph_example/__init__.py | 2 +- gfe_examples/Conways/one_no_graph_example/conways_no_graph.py | 2 +- .../Conways/one_no_graph_example/spiNNakerGraphFrontEnd.cfg | 2 +- .../Conways/partitioned_example_a_no_vis_no_buffer/Makefile | 2 +- .../Conways/partitioned_example_a_no_vis_no_buffer/__init__.py | 2 +- .../conways_basic_cell.py | 2 +- .../conways_partitioned.py | 2 +- .../partitioned_example_a_no_vis_no_buffer/src/conways_cell.c | 2 +- .../Conways/partitioned_example_b_no_vis_buffer/Makefile | 2 +- .../Conways/partitioned_example_b_no_vis_buffer/__init__.py | 2 +- .../partitioned_example_b_no_vis_buffer/conways_basic_cell.py | 2 +- .../partitioned_example_b_no_vis_buffer/conways_partitioned.py | 2 +- .../partitioned_example_b_no_vis_buffer/src/conways_cell.c | 2 +- gfe_examples/Makefile | 2 +- gfe_examples/__init__.py | 2 +- gfe_examples/hello_world/Makefile | 2 +- gfe_examples/hello_world/__init__.py | 2 +- gfe_examples/hello_world/hello_world.py | 2 +- gfe_examples/hello_world/hello_world_vertex.py | 2 +- gfe_examples/hello_world/src/hello_world.c | 2 +- gfe_examples/hello_world_untimed/Makefile | 2 +- gfe_examples/hello_world_untimed/__init__.py | 2 +- gfe_examples/hello_world_untimed/hello_world.py | 2 +- gfe_examples/hello_world_untimed/hello_world_vertex.py | 2 +- gfe_examples/hello_world_untimed/src/hello_world.c | 2 +- gfe_examples/sync_test/Makefile | 2 +- gfe_examples/sync_test/__init__.py | 2 +- gfe_examples/sync_test/src/sync_test.c | 2 +- gfe_examples/sync_test/sync_test.py | 2 +- gfe_examples/sync_test/sync_test_vertex.py | 2 +- gfe_examples/template/Makefile | 2 +- gfe_examples/template/__init__.py | 2 +- gfe_examples/template/python_template.py | 2 +- gfe_examples/template/src/c_template_vertex.c | 2 +- gfe_examples/template/template_vertex.py | 2 +- gfe_integration_tests/Makefile | 2 +- gfe_integration_tests/__init__.py | 2 +- gfe_integration_tests/script_builder.py | 2 +- gfe_integration_tests/sdram_edge_tests/Makefile | 2 +- gfe_integration_tests/sdram_edge_tests/__init__.py | 2 +- gfe_integration_tests/sdram_edge_tests/common/Makefile | 2 +- gfe_integration_tests/sdram_edge_tests/common/__init__.py | 2 +- .../sdram_edge_tests/common/sdram_machine_vertex.py | 2 +- .../sdram_edge_tests/common/sdram_test_vertex.py | 2 +- gfe_integration_tests/sdram_edge_tests/common/src/sdram.c | 2 +- .../sdram_edge_tests/test_constant_internal/__init__.py | 2 +- .../test_constant_internal/sdram_splitter_internal.py | 2 +- .../test_constant_internal/test_sdram_internal_edges.py | 2 +- .../sdram_edge_tests/test_multi_dest_internal/__init__.py | 2 +- .../sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py | 2 +- .../test_multi_dest_internal/test_sdram_internal_edges.py | 2 +- .../sdram_edge_tests/test_multi_src_internal/__init__.py | 2 +- .../sdram_edge_tests/test_multi_src_internal/sdram_splitter.py | 2 +- .../test_multi_src_internal/test_sdram_internal_edges.py | 2 +- gfe_integration_tests/test_extra_monitor/Makefile | 2 +- gfe_integration_tests/test_extra_monitor/__init__.py | 2 +- gfe_integration_tests/test_extra_monitor/sdram_writer.py | 2 +- .../test_extra_monitor/spiNNakerGraphFrontEnd.cfg | 2 +- gfe_integration_tests/test_extra_monitor/src/sdram_writer.c | 2 +- gfe_integration_tests/test_extra_monitor/test_extra_monitor.py | 2 +- gfe_integration_tests/test_hello_world.py | 2 +- gfe_integration_tests/test_hello_world_untimed.py | 2 +- gfe_integration_tests/test_profile/Makefile | 2 +- gfe_integration_tests/test_profile/profiled_vertex.py | 2 +- gfe_integration_tests/test_profile/src/test_profile.c | 2 +- gfe_integration_tests/test_profile/test_profile.mk | 2 +- gfe_integration_tests/test_profile/test_profile.py | 2 +- gfe_integration_tests/test_rte/Makefile | 2 +- gfe_integration_tests/test_rte/__init__.py | 2 +- gfe_integration_tests/test_rte/run_vertex.py | 2 +- gfe_integration_tests/test_rte/src/test_rte_during_run.c | 2 +- gfe_integration_tests/test_rte/src/test_rte_start.c | 2 +- gfe_integration_tests/test_rte/src/test_run_too_long.c | 2 +- gfe_integration_tests/test_rte/test_rte_during_run.mk | 2 +- gfe_integration_tests/test_rte/test_rte_during_run.py | 2 +- gfe_integration_tests/test_rte/test_rte_during_run_forever.py | 2 +- gfe_integration_tests/test_rte/test_rte_start.mk | 2 +- gfe_integration_tests/test_rte/test_rte_start.py | 2 +- gfe_integration_tests/test_rte/test_run_too_long.mk | 2 +- gfe_integration_tests/test_rte/test_run_too_long.py | 2 +- gfe_integration_tests/test_scripts.py | 2 +- requirements-test.txt | 2 +- requirements.txt | 2 +- setup.py | 2 +- spinnaker_graph_front_end/__init__.py | 2 +- spinnaker_graph_front_end/_version.py | 2 +- spinnaker_graph_front_end/config_setup.py | 2 +- spinnaker_graph_front_end/spiNNakerGraphFrontEnd.cfg | 2 +- spinnaker_graph_front_end/spinnaker.py | 2 +- spinnaker_graph_front_end/utilities/__init__.py | 2 +- spinnaker_graph_front_end/utilities/data_utils.py | 2 +- spinnaker_graph_front_end/utilities/simulator_vertex.py | 2 +- unittests/__init__.py | 2 +- unittests/test_cfg_checker.py | 2 +- unittests/test_import_all.py | 2 +- unittests/test_using_virtual_board/__init__.py | 2 +- unittests/test_using_virtual_board/test_hello_world.py | 2 +- unittests/test_version.py | 2 +- 112 files changed, 112 insertions(+), 112 deletions(-) diff --git a/.github/workflows/c_actions.yml b/.github/workflows/c_actions.yml index 10d039fa..0a14207d 100644 --- a/.github/workflows/c_actions.yml +++ b/.github/workflows/c_actions.yml @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 8bbd2fdf..dffa6a8e 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/.pylintrc b/.pylintrc index a0412926..b8e712b2 100644 --- a/.pylintrc +++ b/.pylintrc @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/CITATION.cff b/CITATION.cff index 2cfbf157..695df325 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/LICENSE b/LICENSE index d6456956..ff9ad453 100644 --- a/LICENSE +++ b/LICENSE @@ -193,7 +193,7 @@ you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + https://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/doc/Makefile b/doc/Makefile index ff158ae2..2ff97163 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/doc/doc_requirements.txt b/doc/doc_requirements.txt index e4ef8f4c..60f1c4d3 100644 --- a/doc/doc_requirements.txt +++ b/doc/doc_requirements.txt @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/doc/make.bat b/doc/make.bat index 77663699..ec730b50 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -6,7 +6,7 @@ : you may not use this file except in compliance with the License. : You may obtain a copy of the License at : -: http://www.apache.org/licenses/LICENSE-2.0 +: https://www.apache.org/licenses/LICENSE-2.0 : : Unless required by applicable law or agreed to in writing, software : distributed under the License is distributed on an "AS IS" BASIS, diff --git a/doc/source/conf.py b/doc/source/conf.py index d1efeb39..fc08217c 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -6,7 +6,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/Makefile b/gfe_examples/Conways/Makefile index bb302f0c..3437bd03 100644 --- a/gfe_examples/Conways/Makefile +++ b/gfe_examples/Conways/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/__init__.py b/gfe_examples/Conways/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/Conways/__init__.py +++ b/gfe_examples/Conways/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/no_edges_examples/__init__.py b/gfe_examples/Conways/no_edges_examples/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/Conways/no_edges_examples/__init__.py +++ b/gfe_examples/Conways/no_edges_examples/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py b/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py index f847589c..1e7ff5f2 100644 --- a/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py +++ b/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/no_edges_examples/conways_no_edges.py b/gfe_examples/Conways/no_edges_examples/conways_no_edges.py index 718b8c6a..39e280a6 100644 --- a/gfe_examples/Conways/no_edges_examples/conways_no_edges.py +++ b/gfe_examples/Conways/no_edges_examples/conways_no_edges.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/one_no_graph_example/__init__.py b/gfe_examples/Conways/one_no_graph_example/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/Conways/one_no_graph_example/__init__.py +++ b/gfe_examples/Conways/one_no_graph_example/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/one_no_graph_example/conways_no_graph.py b/gfe_examples/Conways/one_no_graph_example/conways_no_graph.py index b1dce7d1..724d77fa 100644 --- a/gfe_examples/Conways/one_no_graph_example/conways_no_graph.py +++ b/gfe_examples/Conways/one_no_graph_example/conways_no_graph.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/one_no_graph_example/spiNNakerGraphFrontEnd.cfg b/gfe_examples/Conways/one_no_graph_example/spiNNakerGraphFrontEnd.cfg index b60e6d9f..6725518b 100644 --- a/gfe_examples/Conways/one_no_graph_example/spiNNakerGraphFrontEnd.cfg +++ b/gfe_examples/Conways/one_no_graph_example/spiNNakerGraphFrontEnd.cfg @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/Makefile b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/Makefile index fc9b5155..67f7c79f 100644 --- a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/Makefile +++ b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/__init__.py b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/__init__.py +++ b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py index 760857ff..1827e84f 100644 --- a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py +++ b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py index c258092a..255c805a 100644 --- a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py +++ b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/src/conways_cell.c b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/src/conways_cell.c index 19d8fc82..d9675bbb 100644 --- a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/src/conways_cell.c +++ b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/src/conways_cell.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/Makefile b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/Makefile index fc9b5155..67f7c79f 100644 --- a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/Makefile +++ b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/__init__.py b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/__init__.py +++ b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py index d89f37cd..3f7cf146 100644 --- a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py +++ b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py index 98bcb0fd..c20d83e2 100644 --- a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py +++ b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/src/conways_cell.c b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/src/conways_cell.c index 3668cf88..64d0f993 100644 --- a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/src/conways_cell.c +++ b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/src/conways_cell.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/Makefile b/gfe_examples/Makefile index c710cce0..085af7f4 100644 --- a/gfe_examples/Makefile +++ b/gfe_examples/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/__init__.py b/gfe_examples/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/__init__.py +++ b/gfe_examples/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world/Makefile b/gfe_examples/hello_world/Makefile index 62b34dd3..c0d08ef9 100644 --- a/gfe_examples/hello_world/Makefile +++ b/gfe_examples/hello_world/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world/__init__.py b/gfe_examples/hello_world/__init__.py index a91431a9..f3859049 100644 --- a/gfe_examples/hello_world/__init__.py +++ b/gfe_examples/hello_world/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world/hello_world.py b/gfe_examples/hello_world/hello_world.py index 6fc34fe1..c5eb82cb 100644 --- a/gfe_examples/hello_world/hello_world.py +++ b/gfe_examples/hello_world/hello_world.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world/hello_world_vertex.py b/gfe_examples/hello_world/hello_world_vertex.py index 7a266806..e9e84190 100644 --- a/gfe_examples/hello_world/hello_world_vertex.py +++ b/gfe_examples/hello_world/hello_world_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world/src/hello_world.c b/gfe_examples/hello_world/src/hello_world.c index 7175af99..1e66e88c 100644 --- a/gfe_examples/hello_world/src/hello_world.c +++ b/gfe_examples/hello_world/src/hello_world.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world_untimed/Makefile b/gfe_examples/hello_world_untimed/Makefile index 62b34dd3..c0d08ef9 100644 --- a/gfe_examples/hello_world_untimed/Makefile +++ b/gfe_examples/hello_world_untimed/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world_untimed/__init__.py b/gfe_examples/hello_world_untimed/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/hello_world_untimed/__init__.py +++ b/gfe_examples/hello_world_untimed/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world_untimed/hello_world.py b/gfe_examples/hello_world_untimed/hello_world.py index b301c129..d603e3ba 100644 --- a/gfe_examples/hello_world_untimed/hello_world.py +++ b/gfe_examples/hello_world_untimed/hello_world.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world_untimed/hello_world_vertex.py b/gfe_examples/hello_world_untimed/hello_world_vertex.py index 4834b95c..88f2a675 100644 --- a/gfe_examples/hello_world_untimed/hello_world_vertex.py +++ b/gfe_examples/hello_world_untimed/hello_world_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/hello_world_untimed/src/hello_world.c b/gfe_examples/hello_world_untimed/src/hello_world.c index b43c663d..22f45d8b 100644 --- a/gfe_examples/hello_world_untimed/src/hello_world.c +++ b/gfe_examples/hello_world_untimed/src/hello_world.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/sync_test/Makefile b/gfe_examples/sync_test/Makefile index 0edbddd8..af0567bd 100644 --- a/gfe_examples/sync_test/Makefile +++ b/gfe_examples/sync_test/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/sync_test/__init__.py b/gfe_examples/sync_test/__init__.py index e2d953ab..efc02205 100644 --- a/gfe_examples/sync_test/__init__.py +++ b/gfe_examples/sync_test/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/sync_test/src/sync_test.c b/gfe_examples/sync_test/src/sync_test.c index 5b87efa1..8afa2ce7 100644 --- a/gfe_examples/sync_test/src/sync_test.c +++ b/gfe_examples/sync_test/src/sync_test.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/sync_test/sync_test.py b/gfe_examples/sync_test/sync_test.py index 93304ea7..3f81ca83 100644 --- a/gfe_examples/sync_test/sync_test.py +++ b/gfe_examples/sync_test/sync_test.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/sync_test/sync_test_vertex.py b/gfe_examples/sync_test/sync_test_vertex.py index 189df073..82bc7999 100644 --- a/gfe_examples/sync_test/sync_test_vertex.py +++ b/gfe_examples/sync_test/sync_test_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/template/Makefile b/gfe_examples/template/Makefile index 92faf7b0..bb2c0a78 100644 --- a/gfe_examples/template/Makefile +++ b/gfe_examples/template/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/template/__init__.py b/gfe_examples/template/__init__.py index 6484caf8..e65c9b9b 100644 --- a/gfe_examples/template/__init__.py +++ b/gfe_examples/template/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/template/python_template.py b/gfe_examples/template/python_template.py index 5b387bbd..b480ab11 100644 --- a/gfe_examples/template/python_template.py +++ b/gfe_examples/template/python_template.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/template/src/c_template_vertex.c b/gfe_examples/template/src/c_template_vertex.c index 0dec6d0a..0f9c019b 100644 --- a/gfe_examples/template/src/c_template_vertex.c +++ b/gfe_examples/template/src/c_template_vertex.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_examples/template/template_vertex.py b/gfe_examples/template/template_vertex.py index ec4dde76..8ff02e42 100644 --- a/gfe_examples/template/template_vertex.py +++ b/gfe_examples/template/template_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/Makefile b/gfe_integration_tests/Makefile index 494bf8d8..c71bfa82 100644 --- a/gfe_integration_tests/Makefile +++ b/gfe_integration_tests/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/__init__.py b/gfe_integration_tests/__init__.py index b60e6d9f..6725518b 100644 --- a/gfe_integration_tests/__init__.py +++ b/gfe_integration_tests/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/script_builder.py b/gfe_integration_tests/script_builder.py index 9274b168..cb6c4b6a 100644 --- a/gfe_integration_tests/script_builder.py +++ b/gfe_integration_tests/script_builder.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/Makefile b/gfe_integration_tests/sdram_edge_tests/Makefile index b1d91428..1128cad2 100644 --- a/gfe_integration_tests/sdram_edge_tests/Makefile +++ b/gfe_integration_tests/sdram_edge_tests/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/__init__.py b/gfe_integration_tests/sdram_edge_tests/__init__.py index 76780b6f..42bb998f 100644 --- a/gfe_integration_tests/sdram_edge_tests/__init__.py +++ b/gfe_integration_tests/sdram_edge_tests/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/common/Makefile b/gfe_integration_tests/sdram_edge_tests/common/Makefile index cb2642b3..c7b0d160 100644 --- a/gfe_integration_tests/sdram_edge_tests/common/Makefile +++ b/gfe_integration_tests/sdram_edge_tests/common/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/common/__init__.py b/gfe_integration_tests/sdram_edge_tests/common/__init__.py index 7843e6d3..408b9410 100644 --- a/gfe_integration_tests/sdram_edge_tests/common/__init__.py +++ b/gfe_integration_tests/sdram_edge_tests/common/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py b/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py index 6190521c..fea1f2b2 100644 --- a/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py +++ b/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/common/sdram_test_vertex.py b/gfe_integration_tests/sdram_edge_tests/common/sdram_test_vertex.py index 0493720c..2daaeaed 100644 --- a/gfe_integration_tests/sdram_edge_tests/common/sdram_test_vertex.py +++ b/gfe_integration_tests/sdram_edge_tests/common/sdram_test_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/common/src/sdram.c b/gfe_integration_tests/sdram_edge_tests/common/src/sdram.c index e9063cc7..fb90fbaa 100644 --- a/gfe_integration_tests/sdram_edge_tests/common/src/sdram.c +++ b/gfe_integration_tests/sdram_edge_tests/common/src/sdram.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/__init__.py b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/__init__.py index cb58a483..d173113b 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/__init__.py +++ b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py index db14e19e..2895f730 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py +++ b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/test_sdram_internal_edges.py b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/test_sdram_internal_edges.py index 3ed38fcb..f2083c99 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/test_sdram_internal_edges.py +++ b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/test_sdram_internal_edges.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/__init__.py b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/__init__.py index 0ca5d00c..145f41be 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/__init__.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py index a138549c..b3bba88d 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/test_sdram_internal_edges.py b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/test_sdram_internal_edges.py index 254a18fd..e898864b 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/test_sdram_internal_edges.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/test_sdram_internal_edges.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/__init__.py b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/__init__.py index 14314fc1..aa2e3e33 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/__init__.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py index 47925a10..92cd1657 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/test_sdram_internal_edges.py b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/test_sdram_internal_edges.py index 6976ad1c..9c4289af 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/test_sdram_internal_edges.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/test_sdram_internal_edges.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_extra_monitor/Makefile b/gfe_integration_tests/test_extra_monitor/Makefile index 58b49753..b19365b7 100644 --- a/gfe_integration_tests/test_extra_monitor/Makefile +++ b/gfe_integration_tests/test_extra_monitor/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_extra_monitor/__init__.py b/gfe_integration_tests/test_extra_monitor/__init__.py index b60e6d9f..6725518b 100644 --- a/gfe_integration_tests/test_extra_monitor/__init__.py +++ b/gfe_integration_tests/test_extra_monitor/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_extra_monitor/sdram_writer.py b/gfe_integration_tests/test_extra_monitor/sdram_writer.py index 25bb0333..16778812 100644 --- a/gfe_integration_tests/test_extra_monitor/sdram_writer.py +++ b/gfe_integration_tests/test_extra_monitor/sdram_writer.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_extra_monitor/spiNNakerGraphFrontEnd.cfg b/gfe_integration_tests/test_extra_monitor/spiNNakerGraphFrontEnd.cfg index 53ef1280..1edded64 100644 --- a/gfe_integration_tests/test_extra_monitor/spiNNakerGraphFrontEnd.cfg +++ b/gfe_integration_tests/test_extra_monitor/spiNNakerGraphFrontEnd.cfg @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_extra_monitor/src/sdram_writer.c b/gfe_integration_tests/test_extra_monitor/src/sdram_writer.c index 2c8a9806..c99704d6 100644 --- a/gfe_integration_tests/test_extra_monitor/src/sdram_writer.c +++ b/gfe_integration_tests/test_extra_monitor/src/sdram_writer.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_extra_monitor/test_extra_monitor.py b/gfe_integration_tests/test_extra_monitor/test_extra_monitor.py index ef17d869..2d115185 100644 --- a/gfe_integration_tests/test_extra_monitor/test_extra_monitor.py +++ b/gfe_integration_tests/test_extra_monitor/test_extra_monitor.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_hello_world.py b/gfe_integration_tests/test_hello_world.py index da1ab0d5..4a2ba7b4 100644 --- a/gfe_integration_tests/test_hello_world.py +++ b/gfe_integration_tests/test_hello_world.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_hello_world_untimed.py b/gfe_integration_tests/test_hello_world_untimed.py index 109e688d..22f2be10 100644 --- a/gfe_integration_tests/test_hello_world_untimed.py +++ b/gfe_integration_tests/test_hello_world_untimed.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_profile/Makefile b/gfe_integration_tests/test_profile/Makefile index 4d904394..ecdeff1e 100755 --- a/gfe_integration_tests/test_profile/Makefile +++ b/gfe_integration_tests/test_profile/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_profile/profiled_vertex.py b/gfe_integration_tests/test_profile/profiled_vertex.py index 2fdeabac..a71e4f64 100644 --- a/gfe_integration_tests/test_profile/profiled_vertex.py +++ b/gfe_integration_tests/test_profile/profiled_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_profile/src/test_profile.c b/gfe_integration_tests/test_profile/src/test_profile.c index 4dd821ad..86b2405e 100644 --- a/gfe_integration_tests/test_profile/src/test_profile.c +++ b/gfe_integration_tests/test_profile/src/test_profile.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_profile/test_profile.mk b/gfe_integration_tests/test_profile/test_profile.mk index fd58ad35..6d79cb83 100755 --- a/gfe_integration_tests/test_profile/test_profile.mk +++ b/gfe_integration_tests/test_profile/test_profile.mk @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_profile/test_profile.py b/gfe_integration_tests/test_profile/test_profile.py index d4c3d1b1..eac81752 100644 --- a/gfe_integration_tests/test_profile/test_profile.py +++ b/gfe_integration_tests/test_profile/test_profile.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/Makefile b/gfe_integration_tests/test_rte/Makefile index 37c2f00f..ca56e811 100644 --- a/gfe_integration_tests/test_rte/Makefile +++ b/gfe_integration_tests/test_rte/Makefile @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/__init__.py b/gfe_integration_tests/test_rte/__init__.py index b60e6d9f..6725518b 100644 --- a/gfe_integration_tests/test_rte/__init__.py +++ b/gfe_integration_tests/test_rte/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/run_vertex.py b/gfe_integration_tests/test_rte/run_vertex.py index 215a28b6..015aac9f 100644 --- a/gfe_integration_tests/test_rte/run_vertex.py +++ b/gfe_integration_tests/test_rte/run_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/src/test_rte_during_run.c b/gfe_integration_tests/test_rte/src/test_rte_during_run.c index 8218bcc5..7a873e76 100644 --- a/gfe_integration_tests/test_rte/src/test_rte_during_run.c +++ b/gfe_integration_tests/test_rte/src/test_rte_during_run.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/src/test_rte_start.c b/gfe_integration_tests/test_rte/src/test_rte_start.c index 3aa4b5f3..e596412e 100644 --- a/gfe_integration_tests/test_rte/src/test_rte_start.c +++ b/gfe_integration_tests/test_rte/src/test_rte_start.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/src/test_run_too_long.c b/gfe_integration_tests/test_rte/src/test_run_too_long.c index 1557d85b..ddef1377 100644 --- a/gfe_integration_tests/test_rte/src/test_run_too_long.c +++ b/gfe_integration_tests/test_rte/src/test_run_too_long.c @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/test_rte_during_run.mk b/gfe_integration_tests/test_rte/test_rte_during_run.mk index 1f83b2d0..befbd6f3 100644 --- a/gfe_integration_tests/test_rte/test_rte_during_run.mk +++ b/gfe_integration_tests/test_rte/test_rte_during_run.mk @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/test_rte_during_run.py b/gfe_integration_tests/test_rte/test_rte_during_run.py index 641c0d9e..52f3a20c 100644 --- a/gfe_integration_tests/test_rte/test_rte_during_run.py +++ b/gfe_integration_tests/test_rte/test_rte_during_run.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/test_rte_during_run_forever.py b/gfe_integration_tests/test_rte/test_rte_during_run_forever.py index 33a785c6..f04bd1c6 100644 --- a/gfe_integration_tests/test_rte/test_rte_during_run_forever.py +++ b/gfe_integration_tests/test_rte/test_rte_during_run_forever.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/test_rte_start.mk b/gfe_integration_tests/test_rte/test_rte_start.mk index 07fdfcfd..73d1b4db 100644 --- a/gfe_integration_tests/test_rte/test_rte_start.mk +++ b/gfe_integration_tests/test_rte/test_rte_start.mk @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/test_rte_start.py b/gfe_integration_tests/test_rte/test_rte_start.py index b2509037..1b1f34d4 100644 --- a/gfe_integration_tests/test_rte/test_rte_start.py +++ b/gfe_integration_tests/test_rte/test_rte_start.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/test_run_too_long.mk b/gfe_integration_tests/test_rte/test_run_too_long.mk index 776ad272..53089f75 100644 --- a/gfe_integration_tests/test_rte/test_run_too_long.mk +++ b/gfe_integration_tests/test_rte/test_run_too_long.mk @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_rte/test_run_too_long.py b/gfe_integration_tests/test_rte/test_run_too_long.py index bb3f7351..2c8cfa55 100644 --- a/gfe_integration_tests/test_rte/test_run_too_long.py +++ b/gfe_integration_tests/test_rte/test_run_too_long.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gfe_integration_tests/test_scripts.py b/gfe_integration_tests/test_scripts.py index aaab7c9e..3c685472 100644 --- a/gfe_integration_tests/test_scripts.py +++ b/gfe_integration_tests/test_scripts.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/requirements-test.txt b/requirements-test.txt index 1eb35ca3..1c613d3e 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/requirements.txt b/requirements.txt index 68b80b7e..59783684 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/setup.py b/setup.py index 73d28ca3..6b61a535 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/__init__.py b/spinnaker_graph_front_end/__init__.py index 178c596a..70d81d75 100644 --- a/spinnaker_graph_front_end/__init__.py +++ b/spinnaker_graph_front_end/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/_version.py b/spinnaker_graph_front_end/_version.py index 69947134..52638cbf 100644 --- a/spinnaker_graph_front_end/_version.py +++ b/spinnaker_graph_front_end/_version.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/config_setup.py b/spinnaker_graph_front_end/config_setup.py index fdce43cc..39e740a4 100644 --- a/spinnaker_graph_front_end/config_setup.py +++ b/spinnaker_graph_front_end/config_setup.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/spiNNakerGraphFrontEnd.cfg b/spinnaker_graph_front_end/spiNNakerGraphFrontEnd.cfg index f27dc2ed..a004b34f 100644 --- a/spinnaker_graph_front_end/spiNNakerGraphFrontEnd.cfg +++ b/spinnaker_graph_front_end/spiNNakerGraphFrontEnd.cfg @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/spinnaker.py b/spinnaker_graph_front_end/spinnaker.py index bfc93c84..645e5f10 100644 --- a/spinnaker_graph_front_end/spinnaker.py +++ b/spinnaker_graph_front_end/spinnaker.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/utilities/__init__.py b/spinnaker_graph_front_end/utilities/__init__.py index 30da6e3b..8e4347fa 100644 --- a/spinnaker_graph_front_end/utilities/__init__.py +++ b/spinnaker_graph_front_end/utilities/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/utilities/data_utils.py b/spinnaker_graph_front_end/utilities/data_utils.py index 6f6be0c1..12c394f5 100644 --- a/spinnaker_graph_front_end/utilities/data_utils.py +++ b/spinnaker_graph_front_end/utilities/data_utils.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/spinnaker_graph_front_end/utilities/simulator_vertex.py b/spinnaker_graph_front_end/utilities/simulator_vertex.py index a7fcc4b9..ab023855 100644 --- a/spinnaker_graph_front_end/utilities/simulator_vertex.py +++ b/spinnaker_graph_front_end/utilities/simulator_vertex.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/unittests/__init__.py b/unittests/__init__.py index 523cd560..f3a422e4 100644 --- a/unittests/__init__.py +++ b/unittests/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/unittests/test_cfg_checker.py b/unittests/test_cfg_checker.py index af6dc0a9..a66bb704 100644 --- a/unittests/test_cfg_checker.py +++ b/unittests/test_cfg_checker.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/unittests/test_import_all.py b/unittests/test_import_all.py index aead0047..b34e5fde 100644 --- a/unittests/test_import_all.py +++ b/unittests/test_import_all.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/unittests/test_using_virtual_board/__init__.py b/unittests/test_using_virtual_board/__init__.py index b60e6d9f..6725518b 100644 --- a/unittests/test_using_virtual_board/__init__.py +++ b/unittests/test_using_virtual_board/__init__.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/unittests/test_using_virtual_board/test_hello_world.py b/unittests/test_using_virtual_board/test_hello_world.py index 9fde2445..7741f7da 100644 --- a/unittests/test_using_virtual_board/test_hello_world.py +++ b/unittests/test_using_virtual_board/test_hello_world.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/unittests/test_version.py b/unittests/test_version.py index 32670aae..7bf3d8d1 100644 --- a/unittests/test_version.py +++ b/unittests/test_version.py @@ -4,7 +4,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, From 6f34360d4189ca22dd187e02df97a9ecbea589df Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 7 Mar 2023 15:57:38 +0000 Subject: [PATCH 03/48] Moved and fixed LICENSE.md --- LICENSE_POLICY.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/LICENSE_POLICY.md b/LICENSE_POLICY.md index 8f6f572a..4f1271d5 100644 --- a/LICENSE_POLICY.md +++ b/LICENSE_POLICY.md @@ -1,17 +1,17 @@ # License Agreement -Up to date information for the whole [SpiNNakerManchester Projects](https://github.com/SpiNNakerManchester) can be found [here](http://spinnakermanchester.github.io/common_pages/4.0.0/LicenseAgreement.html) +Up to date information for the whole [SpiNNakerManchester Projects](https://github.com/SpiNNakerManchester) can be found [here](http://spinnakermanchester.github.io/latest/LicenseAgreement.html) -As shown there the software is currently being released under the GPL version 3 license listed [here](http://www.gnu.org/copyleft/gpl.html) +As shown there the software is currently being released under the Apache License 2.0 listed [here](https://www.apache.org/licenses/LICENSE-2.0) # Paper Authorship -See: [here](http://spinnakermanchester.github.io/common_pages/4.0.0/LicenseAgreement.html#paper-authorship) +See: [here](http://spinnakermanchester.github.io/latest/LicenseAgreement.html#paper-authorship) # Modifications -See: [here](http://spinnakermanchester.github.io/common_pages/4.0.0/LicenseAgreement.html#modifications) +See: [here](http://spinnakermanchester.github.io/latest/LicenseAgreement.html#modifications) # Contributors @@ -19,5 +19,5 @@ For up to date information on Contributors see the graphs/contributors pages on For example [https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/graphs/contributors](https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/graphs/contributors) -[Combined list](http://spinnakermanchester.github.io/common_pages/4.0.0/LicenseAgreement.html#contributors) +[Combined list](http://spinnakermanchester.github.io/latest/LicenseAgreement.html#contributors) From c45892c4a026c70d2af2351a0a91fa013712e45a Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 7 Mar 2023 16:46:08 +0000 Subject: [PATCH 04/48] ref paper --- CITATION.cff | 131 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 80 insertions(+), 51 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 695df325..b5098112 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -12,61 +12,90 @@ # See the License for the specific language governing permissions and # limitations under the License. +cff-version: 1.2.0 +message: If you use this software, please cite it as below. +preferred-citation: + type: article + doi: 10.3389/fnins.2019.00231 + issn: 1662-453X + url: https://www.frontiersin.org/articles/10.3389/fnins.2019.00231 + title: "SpiNNTools: The Execution Engine for the SpiNNaker Platform" + journal: Frontiers in Neuroscience + volume: 13 + year: 2019 + month: 3 + abstract: SpiNNaker is a massively parallel distributed architecture primarily focused on real time simulation of spiking neural networks. The largest realization of the architecture consists of one million general purpose processors, making it the largest neuromorphic computing platform in the world at the present time. Utilizing these processors efficiently requires expert knowledge of the architecture to generate executable code and to harness the potential of the unique inter-processor communications infra-structure that lies at the heart of the SpiNNaker architecture. This work introduces a software suite called SpiNNTools that can map a computational problem described as a graph into the required set of executables, application data and routing information necessary for simulation on this novel machine. The SpiNNaker architecture is highly scalable, giving rise to unique challenges in mapping the problem to the machines resources, loading the generated files to the machine and subsequently retrieving the results of simulation. In this paper we describe these challenges in detail and the solutions implemented. + authors: + - given-names: Andrew + family-names: Rowley + affiliation: University Of Manchester + email: Andrew.Rowley@manchester.ac.uk + orcid: https://orcid.org/0000-0002-2646-8520 + website: https://www.researchgate.net/profile/Andrew_Rowley2 + - given-names: Christian Y. + family-names: Brenninkmeijer + affiliation: University Of Manchester + email: christian.brenninkmeijer@manchester.ac.uk + orcid: https://orcid.org/0000-0002-2937-7819 + website: https://www.researchgate.net/profile/Christian_Brenninkmeijer + - given-names: Simon + family-names: Davidson + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0001-5385-442X + website: https://research.manchester.ac.uk/en/persons/simon.davidson + - given-names: Donal + family-names: Fellows + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0002-9091-5938 + website: https://www.researchgate.net/profile/Donal-Fellows + - given-names: Andrew + family-names: Gait + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0001-9349-1096 + website: https://personalpages.manchester.ac.uk/staff/andrew.gait/ + - given-names: David R. + family-names: Lester + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0002-7267-291X + - given-names: Luis A. + family-names: Plana + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0002-6113-3929 + website: https://research.manchester.ac.uk/en/persons/luis.plana + - given-names: Oliver + family-names: Rhodes + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0003-1728-2828 + website: https://research.manchester.ac.uk/en/persons/oliver.rhodes + - given-names: Alan B. + family-names: Stokes + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0002-6110-1484 + website: http://www.cs.man.ac.uk/~stokesa6/ + - given-names: Steve B. + family-names: Furber + affiliation: University Of Manchester + orcid: https://orcid.org/0000-0002-6524-3367 + website: https://research.manchester.ac.uk/en/persons/steve.furber + +title: The Front end interface for SpiNNaker machines which represnet the application + as a graph authors: -- affiliation: University Of Manchester - email: alan.stokes-2@manchester.ac.uk - family-names: Stokes - given-names: Alan - orcid: https://orcid.org/0000-0002-6110-1484 - website: http://www.cs.man.ac.uk/~stokesa6/ -- affiliation: University Of Manchester - email: Andrew.Rowley@manchester.ac.uk - family-names: Rowley - given-names: Andrew - orcid: https://orcid.org/0000-0002-2646-8520 - website: https://www.researchgate.net/profile/Andrew_Rowley2 -- affiliation: University Of Manchester - email: Andrew.Gait@manchester.ac.uk - family-names: Gait - given-names: Andrew - orcid: http://orcid.org/0000-0001-9349-1096 - website: https://personalpages.manchester.ac.uk/staff/Andrew.Gait/ -- affiliation: University Of Manchester - email: christian.brenninkmeijer@manchester.ac.uk - family-names: Brenninkmeijer - given-names: Christian Y. - orcid: https://orcid.org/0000-0002-2937-7819 - website: https://www.researchgate.net/profile/Christian_Brenninkmeijer -- affiliation: University Of Manchester - email: donal.k.fellows@manchester.ac.uk - family-names: Fellows - given-names: Donal - orcid: https://orcid.org/0000-0002-9091-5938 - website: http://www.cs.manchester.ac.uk/about-us/staff/profile/?ea=donal.k.fellows -- affiliation: University Of Manchester - email: arthur.ceccotti@student.manchester.ac.uk - family-names: Ceccotti - given-names: Arthur - website: https://www.linkedin.com/in/arthur-ceccotti-07359483 -- affiliation: University Of Manchester - email: sergio.davies@gmail.com - family-names: Davies - given-names: Sergio - orcid: https://orcid.org/0000-0001-5330-5527 - website: http://apt.cs.manchester.ac.uk/people/daviess/ -cff-version: 1.0.3 + - name: SpiNNaker Software Team + alias: For a list of contributors see https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/graphs/contributors or for a combined list see http://spinnakermanchester.github.io/latest/LicenseAgreement.html#contributors + address: University of Manchester, Oxford Road + city: Manchester + country: GB + email: spinnakerusers@googlegroups.com + post-code: M13 9PL + website: https://apt.cs.manchester.ac.uk/projects/SpiNNaker/ +url: http://spinnakermanchester.github.io/ contact: - address: University of Manchester, Oxford Road city: Manchester country: GB + email: spinnakerusers@googlegroups.com name: SpiNNaker Software Team post-code: M13 9PL -date-released: -email: spinnakerusers@googlegroups.com -identifier: -message: If you use this software, please cite it as below. -repository: https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd -title: The Front end interface for SpiNNaker machines which represnet the application - as a graph -url: http://spinnakermanchester.github.io/ -version: +license: Apache-2.0 +repository: https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd \ No newline at end of file From 17c81ad24cae5ed197fed7130f1a61bb0895f500 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Wed, 8 Mar 2023 07:39:10 +0000 Subject: [PATCH 05/48] validate cititations cff --- .github/workflows/python_actions.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index dffa6a8e..02887d21 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -83,3 +83,7 @@ jobs: uses: ./support/actions/sphinx with: directory: doc/source + + - name: Validate CITATION.cff + if: matrix.python-version == 3.8 + uses: dieghernan/cff-validator@main From 2a7202a46dcd85157ff793fb6f21018ad6296f8f Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Wed, 8 Mar 2023 10:48:42 +0000 Subject: [PATCH 06/48] converted to https://www.apache.org/licenses/ --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index ff9ad453..62589edd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ Apache License Version 2.0, January 2004 - http://www.apache.org/licenses/ + https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION From f70346338a5f1052b3da462ebad1b6f1a63e0ddc Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Wed, 8 Mar 2023 15:47:02 +0000 Subject: [PATCH 07/48] change to Apache --- .coveragerc | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.coveragerc b/.coveragerc index c3d1e7b6..fb576410 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,17 +1,16 @@ -# Copyright (c) 2017-2019 The University of Manchester +# Copyright (c) 2017 The University of Manchester # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# https://www.apache.org/licenses/LICENSE-2.0 # -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. [run] branch = True From 1520b509c6f8a6664a0da8a1e96f4034b02fd407 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Wed, 8 Mar 2023 15:47:43 +0000 Subject: [PATCH 08/48] use https --- CITATION.cff | 5 ++--- LICENSE_POLICY.md | 8 ++++---- doc/make.bat | 2 +- doc/source/index.rst | 16 ++++++++-------- spinnaker_graph_front_end/__init__.py | 2 +- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index b5098112..f936cbca 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -71,7 +71,6 @@ preferred-citation: family-names: Stokes affiliation: University Of Manchester orcid: https://orcid.org/0000-0002-6110-1484 - website: http://www.cs.man.ac.uk/~stokesa6/ - given-names: Steve B. family-names: Furber affiliation: University Of Manchester @@ -82,14 +81,14 @@ title: The Front end interface for SpiNNaker machines which represnet the applic as a graph authors: - name: SpiNNaker Software Team - alias: For a list of contributors see https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/graphs/contributors or for a combined list see http://spinnakermanchester.github.io/latest/LicenseAgreement.html#contributors + alias: For a list of contributors see https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/graphs/contributors or for a combined list see https://spinnakermanchester.github.io/latest/LicenseAgreement.html#contributors address: University of Manchester, Oxford Road city: Manchester country: GB email: spinnakerusers@googlegroups.com post-code: M13 9PL website: https://apt.cs.manchester.ac.uk/projects/SpiNNaker/ -url: http://spinnakermanchester.github.io/ +url: https://spinnakermanchester.github.io/ contact: - address: University of Manchester, Oxford Road city: Manchester diff --git a/LICENSE_POLICY.md b/LICENSE_POLICY.md index 4f1271d5..9b3e13d9 100644 --- a/LICENSE_POLICY.md +++ b/LICENSE_POLICY.md @@ -1,17 +1,17 @@ # License Agreement -Up to date information for the whole [SpiNNakerManchester Projects](https://github.com/SpiNNakerManchester) can be found [here](http://spinnakermanchester.github.io/latest/LicenseAgreement.html) +Up to date information for the whole [SpiNNakerManchester Projects](https://github.com/SpiNNakerManchester) can be found [here](https://spinnakermanchester.github.io/latest/LicenseAgreement.html) As shown there the software is currently being released under the Apache License 2.0 listed [here](https://www.apache.org/licenses/LICENSE-2.0) # Paper Authorship -See: [here](http://spinnakermanchester.github.io/latest/LicenseAgreement.html#paper-authorship) +See: [here](https://spinnakermanchester.github.io/latest/LicenseAgreement.html#paper-authorship) # Modifications -See: [here](http://spinnakermanchester.github.io/latest/LicenseAgreement.html#modifications) +See: [here](https://spinnakermanchester.github.io/latest/LicenseAgreement.html#modifications) # Contributors @@ -19,5 +19,5 @@ For up to date information on Contributors see the graphs/contributors pages on For example [https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/graphs/contributors](https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/graphs/contributors) -[Combined list](http://spinnakermanchester.github.io/latest/LicenseAgreement.html#contributors) +[Combined list](https://spinnakermanchester.github.io/latest/LicenseAgreement.html#contributors) diff --git a/doc/make.bat b/doc/make.bat index ec730b50..eeb5e577 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -36,7 +36,7 @@ if errorlevel 9009 ( echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ + echo.https://sphinx-doc.org/ exit /b 1 ) diff --git a/doc/source/index.rst b/doc/source/index.rst index 48e20d0e..b16236be 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -4,15 +4,15 @@ which is part of the SpiNNaker_ Project. This code depends on SpiNNUtils_, SpiNNMachine_, SpiNNMan_, PACMAN_, DataSpecification_, SpiNNFrontEndCommon_ (Combined_documentation_). -.. _SpiNNaker: http://apt.cs.manchester.ac.uk/projects/SpiNNaker +.. _SpiNNaker: https://apt.cs.manchester.ac.uk/projects/SpiNNaker .. _SpiNNakerGraphFrontEnd: https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd -.. _SpiNNUtils: http://spinnutils.readthedocs.io -.. _SpiNNMachine: http://spinnmachine.readthedocs.io -.. _SpiNNMan: http://spinnman.readthedocs.io -.. _PACMAN: http://pacman.readthedocs.io -.. _DataSpecification: http://dataspecification.readthedocs.io -.. _SpiNNFrontEndCommon: http://spinnfrontendcommon.readthedocs.io -.. _Combined_documentation: http://spinnakermanchester.readthedocs.io +.. _SpiNNUtils: https://spinnutils.readthedocs.io +.. _SpiNNMachine: https://spinnmachine.readthedocs.io +.. _SpiNNMan: https://spinnman.readthedocs.io +.. _PACMAN: https://pacman.readthedocs.io +.. _DataSpecification: https://dataspecification.readthedocs.io +.. _SpiNNFrontEndCommon: https://spinnfrontendcommon.readthedocs.io +.. _Combined_documentation: https://spinnakermanchester.readthedocs.io SpiNNakerGraphFrontEnd ====================== diff --git a/spinnaker_graph_front_end/__init__.py b/spinnaker_graph_front_end/__init__.py index 70d81d75..d14ae800 100644 --- a/spinnaker_graph_front_end/__init__.py +++ b/spinnaker_graph_front_end/__init__.py @@ -292,7 +292,7 @@ def placements(): raise NotImplementedError( "This method has been replaced with View methods such as " "iterate_placements. See " - "http://spinnakermanchester.github.io/common_pages/GlobalData.html") + "https://spinnakermanchester.github.io/common_pages/GlobalData.html") def tags(): From b84f2591c4bdc11c9ad49347856b51ae956f3d56 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 21 Mar 2023 14:25:10 +0000 Subject: [PATCH 09/48] pyproject.toml --- .github/workflows/c_actions.yml | 2 +- .github/workflows/python_actions.yml | 4 +- requirements.txt => pyproject.toml | 12 ++-- requirements-test.txt | 25 --------- setup.cfg | 60 ++++++++++++++++++++ setup.py | 84 ---------------------------- 6 files changed, 67 insertions(+), 120 deletions(-) rename requirements.txt => pyproject.toml (71%) delete mode 100644 requirements-test.txt create mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/.github/workflows/c_actions.yml b/.github/workflows/c_actions.yml index 0a14207d..cdbc126a 100644 --- a/.github/workflows/c_actions.yml +++ b/.github/workflows/c_actions.yml @@ -34,7 +34,7 @@ jobs: with: python-version: 3.8 - name: Checkout SpiNNaker Dependencies - uses: ./support/actions/checkout-spinn-deps + uses: ./support/actions/install-spinn-deps with: # Note: SpiNNUtils needed for spinn_utilities.make_tools repositories: spinnaker_tools spinn_common SpiNNFrontEndCommon SpiNNUtils diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 02887d21..2db19fa9 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -40,7 +40,7 @@ jobs: - name: Install pip, etc uses: ./support/actions/python-tools - name: Install Spinnaker Dependencies - uses: ./support/actions/checkout-spinn-deps + uses: ./support/actions/install-spinn-deps with: repositories: > SpiNNUtils SpiNNMachine SpiNNMan PACMAN DataSpecification spalloc @@ -49,7 +49,7 @@ jobs: - name: Install matplotlib uses: ./support/actions/install-matplotlib - name: Setup - uses: ./support/actions/run-setup + uses: ./support/actions/run-install - name: Create a configuration file uses: ./support/actions/configure-spynnaker diff --git a/requirements.txt b/pyproject.toml similarity index 71% rename from requirements.txt rename to pyproject.toml index 59783684..4e9ac994 100644 --- a/requirements.txt +++ b/pyproject.toml @@ -1,4 +1,4 @@ -# Copyright (c) 2017 The University of Manchester +# Copyright (c) 2023 The University of Manchester # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,10 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -SpiNNUtilities == 1!6.0.1 -SpiNNMachine == 1!6.0.1 -SpiNNMan == 1!6.0.1 -SpiNNaker_PACMAN == 1!6.0.1 -SpiNNaker_DataSpecification == 1!6.0.1 -SpiNNFrontEndCommon == 1!6.0.1 - +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta:" \ No newline at end of file diff --git a/requirements-test.txt b/requirements-test.txt deleted file mode 100644 index 1c613d3e..00000000 --- a/requirements-test.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (c) 2017 The University of Manchester -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - --r requirements.txt -SpiNNakerTestBase == 1!6.0.1 -flake8 -coverage >= 4.4, < 5.0 -# pytest will be brought in by pytest-cov -pytest-cov -pytest-timeout -pytest-forked -pytest-progress -sphinx >= 4 -testfixtures diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..0679cf05 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,60 @@ +# Copyright (c) 2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +[metadata] +name = SpiNNakerGraphFrontEnd +version = attr: spinnaker_graph_front_end._version.__version__ +description= "Front end to the SpiNNaker tool chain which uses a basic graph" +long_description = file: README.md +long_description_content_type = text/markdown +url="https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd" +license="Apache License 2.0" +classifiers= + Development Status :: 5 - Production/Stable + Intended Audience :: Developers + Intended Audience :: Science/Research + License :: OSI Approved :: Apache License 2.0 + Natural Language :: English + Operating System :: POSIX :: Linux + Operating System :: Microsoft :: Windows + Operating System :: MacOS + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 +maintainer="SpiNNakerTeam" +maintainer_email="spinnakerusers@googlegroups.com" + +[options] +python_requires = >=3.7, <4 +packages = find: +zip_safe = True +include_package_data = True +install_requires = + SpiNNFrontEndCommon == 1!6.0.1 + +[options.extras_require] +test = + SpiNNakerTestBase == 1!6.0.1 + flake8 >= 5.0 + coverage >= 4.4, < 5.0 + # pytest will be brought in by pytest-cov + pytest-cov + testfixtures + sphinx >= 4 + pytest-timeout + pytest-forked + pytest-progress diff --git a/setup.py b/setup.py deleted file mode 100644 index 6b61a535..00000000 --- a/setup.py +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright (c) 2015 The University of Manchester -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from collections import defaultdict -import os -try: - from setuptools import setup -except ImportError: - from distutils.core import setup - -__version__ = None -exec(open("spinnaker_graph_front_end/_version.py").read()) -assert __version__ - -# Build a list of all project modules, as well as supplementary files -main_package = "spinnaker_graph_front_end" -extensions = { - ".aplx", ".boot", ".cfg", ".json", ".sql", ".template", ".xml", ".xsd"} -main_package_dir = os.path.join(os.path.dirname(__file__), main_package) -start = len(main_package_dir) -packages = [] -package_data = defaultdict(list) -for dirname, _dirnames, filenames in os.walk(main_package_dir): - if '__init__.py' in filenames: - package = "{}{}".format( - main_package, dirname[start:].replace(os.sep, '.')) - packages.append(package) - for filename in filenames: - _, ext = os.path.splitext(filename) - if ext in extensions: - package = "{}{}".format( - main_package, dirname[start:].replace(os.sep, '.')) - package_data[package].append(filename) - -setup( - name="SpiNNakerGraphFrontEnd", - version=__version__, - description="Front end to the SpiNNaker tool chain which uses a " - "basic graph", - url="https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd", - classifiers=[ - "Development Status :: 5 - Production/Stable", - - "Intended Audience :: Developers", - "Intended Audience :: Science/Research", - - "License :: OSI Approved :: Apache License 2.0", - - "Natural Language :: English", - - "Operating System :: POSIX :: Linux", - "Operating System :: Microsoft :: Windows", - "Operating System :: MacOS", - - "Programming Language :: C", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - ], - packages=packages, - package_data=package_data, - install_requires=['SpiNNUtilities == 1!6.0.1', - 'SpiNNMachine == 1!6.0.1', - 'SpiNNMan == 1!6.0.1', - 'SpiNNaker_PACMAN == 1!6.0.1', - 'SpiNNaker_DataSpecification == 1!6.0.1', - 'SpiNNFrontEndCommon == 1!6.0.1'], - maintainer="SpiNNakerTeam", - maintainer_email="spinnakerusers@googlegroups.com" -) From 82113370159286723d7a1f20c21488d7e3852d77 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 21 Mar 2023 14:41:01 +0000 Subject: [PATCH 10/48] install spin utils --- .github/workflows/c_actions.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/c_actions.yml b/.github/workflows/c_actions.yml index cdbc126a..11d87b99 100644 --- a/.github/workflows/c_actions.yml +++ b/.github/workflows/c_actions.yml @@ -37,11 +37,14 @@ jobs: uses: ./support/actions/install-spinn-deps with: # Note: SpiNNUtils needed for spinn_utilities.make_tools - repositories: spinnaker_tools spinn_common SpiNNFrontEndCommon SpiNNUtils - - name: Install SpiNNUtils - # Must be separate install; don't want to install FEC - run: python setup.py install - working-directory: SpiNNUtils + repositories: spinnaker_tools spinn_common SpiNNFrontEndCommon + + - name: "Prepare: Install SpiNNUtils" + uses: ./support/actions/install-spinn-deps + with: + # Note: SpiNNUtils needed for spinn_utilities.make_tools + repositories: SpiNNUtils + install: true # Note: run these before building to avoid linting modified_src directories - name: Lint C code using Vera++ From 34aa9af90fdb5c6357bcac8178b3eb479b6ce468 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Thu, 23 Mar 2023 16:54:30 +0000 Subject: [PATCH 11/48] Cleaning up the docs a bit --- .../no_edges_examples/conways_basic_cell.py | 3 +- .../no_edges_examples/conways_no_edges.py | 3 +- .../conways_basic_cell.py | 7 +- .../conways_partitioned.py | 4 +- .../conways_basic_cell.py | 7 +- .../conways_partitioned.py | 4 +- gfe_examples/hello_world/hello_world.py | 2 +- .../hello_world/hello_world_vertex.py | 3 +- .../hello_world_untimed/hello_world.py | 2 +- .../hello_world_untimed/hello_world_vertex.py | 10 ++- gfe_examples/sync_test/sync_test_vertex.py | 2 - gfe_examples/template/python_template.py | 2 +- gfe_examples/template/template_vertex.py | 3 +- .../common/sdram_machine_vertex.py | 3 +- .../test_rte/test_rte_during_run_forever.py | 19 +++-- spinnaker_graph_front_end/__init__.py | 77 ++++++++++++------- spinnaker_graph_front_end/config_setup.py | 10 +-- spinnaker_graph_front_end/spinnaker.py | 3 +- .../utilities/data_utils.py | 7 +- .../utilities/simulator_vertex.py | 5 +- unittests/test_version.py | 3 +- 21 files changed, 104 insertions(+), 75 deletions(-) diff --git a/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py b/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py index 1e7ff5f2..f29d5ff9 100644 --- a/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py +++ b/gfe_examples/Conways/no_edges_examples/conways_basic_cell.py @@ -17,7 +17,8 @@ class ConwayBasicCell(MachineVertex): - """ Cell which represents a cell within the 2d fabric + """ + Cell which represents a cell within the 2d fabric. """ @property diff --git a/gfe_examples/Conways/no_edges_examples/conways_no_edges.py b/gfe_examples/Conways/no_edges_examples/conways_no_edges.py index 39e280a6..afdc7add 100644 --- a/gfe_examples/Conways/no_edges_examples/conways_no_edges.py +++ b/gfe_examples/Conways/no_edges_examples/conways_no_edges.py @@ -21,8 +21,7 @@ front_end.setup() for count in range(0, 60): - front_end.add_machine_vertex_instance( - ConwayBasicCell("cell{}".format(count))) + front_end.add_machine_vertex_instance(ConwayBasicCell(f"cell{count}")) front_end.run(1) front_end.stop() diff --git a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py index 1827e84f..477674b7 100644 --- a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py +++ b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py @@ -39,7 +39,8 @@ class DataRegions(IntEnum): class ConwayBasicCell(SimulatorVertex, MachineDataSpecableVertex): - """ Cell which represents a cell within the 2d fabric + """ + Cell which represents a cell within the 2d fabric. """ PARTITION_ID = "STATE" @@ -133,8 +134,8 @@ def get_data(self): expected_bytes = n_steps * self.RECORDING_ELEMENT_SIZE if number_of_bytes_to_read != expected_bytes: raise ConfigurationException( - "number of bytes seems wrong; have {} but expected {}".format( - number_of_bytes_to_read, expected_bytes)) + f"number of bytes seems wrong; have {number_of_bytes_to_read} " + f"but expected {expected_bytes}") # read the bytes raw_data = txrx.read_memory( diff --git a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py index 255c805a..e6771e90 100644 --- a/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py +++ b/gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py @@ -43,7 +43,7 @@ for x in range(0, MAX_X_SIZE_OF_FABRIC): for y in range(0, MAX_Y_SIZE_OF_FABRIC): vert = ConwayBasicCell( - "cell{}".format((x * MAX_X_SIZE_OF_FABRIC) + y), + f"cell{(x * MAX_X_SIZE_OF_FABRIC) + y}", (x, y) in active_states) vertices[x, y] = vert front_end.add_machine_vertex_instance(vert) @@ -96,7 +96,7 @@ # visualise it in text form (bad but no vis this time) for time in range(0, runtime): - print("at time {}".format(time)) + print(f"at time {time}") output = "" for y in range(MAX_X_SIZE_OF_FABRIC - 1, 0, -1): for x in range(0, MAX_Y_SIZE_OF_FABRIC): diff --git a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py index 3f7cf146..4d7cfc71 100644 --- a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py +++ b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py @@ -50,7 +50,8 @@ class Channels(IntEnum): class ConwayBasicCell( SimulatorVertex, MachineDataSpecableVertex, AbstractReceiveBuffersToHost): - """ Cell which represents a cell within the 2d fabric + """ + Cell which represents a cell within the 2d fabric. """ PARTITION_ID = "STATE" @@ -136,8 +137,8 @@ def get_data(self): # do check for missing data if data_missing: placement = self.placement - print("missing_data from ({}, {}, {}); ".format( - placement.x, placement.y, placement.p)) + print("missing_data from " + f"({placement.x}, {placement.y}, {placement.p}); ") # return the data, converted to list of booleans return [ diff --git a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py index c20d83e2..4962dc1c 100644 --- a/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py +++ b/gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py @@ -43,7 +43,7 @@ for x in range(0, MAX_X_SIZE_OF_FABRIC): for y in range(0, MAX_Y_SIZE_OF_FABRIC): vert = ConwayBasicCell( - "cell{}".format((x * MAX_X_SIZE_OF_FABRIC) + y), + f"cell{(x * MAX_X_SIZE_OF_FABRIC) + y}", (x, y) in active_states) vertices[x, y] = vert front_end.add_machine_vertex_instance(vert) @@ -96,7 +96,7 @@ # visualise it in text form (bad but no vis this time) for time in range(0, runtime): - print("at time {}".format(time)) + print(f"at time {time}") output = "" for y in range(MAX_X_SIZE_OF_FABRIC - 1, 0, -1): for x in range(0, MAX_Y_SIZE_OF_FABRIC): diff --git a/gfe_examples/hello_world/hello_world.py b/gfe_examples/hello_world/hello_world.py index c5eb82cb..987f0b5d 100644 --- a/gfe_examples/hello_world/hello_world.py +++ b/gfe_examples/hello_world/hello_world.py @@ -13,7 +13,7 @@ # limitations under the License. """ -Hello World program on SpiNNaker +Hello World program on SpiNNaker. Each core stores into its region in SDRAM the string: "Hello World from $chip.x, $chip.y, $core" diff --git a/gfe_examples/hello_world/hello_world_vertex.py b/gfe_examples/hello_world/hello_world_vertex.py index e9e84190..accfb261 100644 --- a/gfe_examples/hello_world/hello_world_vertex.py +++ b/gfe_examples/hello_world/hello_world_vertex.py @@ -73,7 +73,8 @@ def generate_machine_data_specification( spec.end_specification() def read(self): - """ Get the data written into SDRAM + """ + Get the data written into SDRAM. :return: string output """ diff --git a/gfe_examples/hello_world_untimed/hello_world.py b/gfe_examples/hello_world_untimed/hello_world.py index d603e3ba..32c935db 100644 --- a/gfe_examples/hello_world_untimed/hello_world.py +++ b/gfe_examples/hello_world_untimed/hello_world.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. """ -Hello World program on SpiNNaker +Hello World program on SpiNNaker. Each core stores into its region in SDRAM the string: "Hello World from $chip.x, $chip.y, $core" diff --git a/gfe_examples/hello_world_untimed/hello_world_vertex.py b/gfe_examples/hello_world_untimed/hello_world_vertex.py index 88f2a675..4453829d 100644 --- a/gfe_examples/hello_world_untimed/hello_world_vertex.py +++ b/gfe_examples/hello_world_untimed/hello_world_vertex.py @@ -38,7 +38,8 @@ class DataRegions(IntEnum): - """ The data regions that the C code uses + """ + The data regions that the C code uses. """ SYSTEM = 0 PARAMS = 1 @@ -46,7 +47,8 @@ class DataRegions(IntEnum): class Channels(IntEnum): - """ The recording channel IDs that the C code uses + """ + The recording channel IDs that the C code uses. """ HELLO = 0 @@ -60,7 +62,6 @@ class HelloWorldVertex( def __init__(self, label): """ - :param int n_repeats: The number of times to repeat the label in total :param str label: The label, which will be printed """ @@ -111,7 +112,8 @@ def generate_data_specification(self, spec, placement): spec.end_specification() def read(self): - """ Get the data written into SDRAM + """ + Get the data written into SDRAM. :return: string output """ diff --git a/gfe_examples/sync_test/sync_test_vertex.py b/gfe_examples/sync_test/sync_test_vertex.py index 82bc7999..c09886d9 100644 --- a/gfe_examples/sync_test/sync_test_vertex.py +++ b/gfe_examples/sync_test/sync_test_vertex.py @@ -41,7 +41,6 @@ class DataRegions(IntEnum): class SyncTestVertex(AbstractOneAppOneMachineVertex): - def __init__(self, lead, label=None): AbstractOneAppOneMachineVertex.__init__( self, SyncTestMachineVertex(lead, self, label), @@ -50,7 +49,6 @@ def __init__(self, lead, label=None): class SyncTestMachineVertex(MachineVertex, AbstractHasAssociatedBinary, AbstractGeneratesDataSpecification): - def __init__(self, lead, app_vertex, label=None): super().__init__(label, app_vertex) self._lead = lead diff --git a/gfe_examples/template/python_template.py b/gfe_examples/template/python_template.py index b480ab11..9360284e 100644 --- a/gfe_examples/template/python_template.py +++ b/gfe_examples/template/python_template.py @@ -43,7 +43,7 @@ # fill all cores with a Vertex each for x in range(0, total_number_of_cores): front_end.add_machine_vertex_instance( - TemplateVertex(label="Template program at x {}".format(x))) + TemplateVertex(label=f"Template program at x {x}")) # run for a specified length of time front_end.run(10) diff --git a/gfe_examples/template/template_vertex.py b/gfe_examples/template/template_vertex.py index 8ff02e42..61d82695 100644 --- a/gfe_examples/template/template_vertex.py +++ b/gfe_examples/template/template_vertex.py @@ -113,7 +113,8 @@ def _write_app_memory_regions(self, spec, iptags): spec.write_value(0 if key is None else key) def read(self): - """ Get the recorded data + """ + Get the recorded data. :return: The data read, as bytes """ diff --git a/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py b/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py index fea1f2b2..363adfbc 100644 --- a/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py +++ b/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py @@ -35,7 +35,8 @@ class DataRegions(IntEnum): class SDRAMMachineVertex( MachineVertex, AbstractSupportsSDRAMEdges, AbstractHasAssociatedBinary, MachineDataSpecableVertex): - """ A MachineVertex that stores its own resources. + """ + A MachineVertex that stores its own resources. """ SDRAM_PARTITION_BASE_DSG_SIZE = 2 * BYTES_PER_WORD diff --git a/gfe_integration_tests/test_rte/test_rte_during_run_forever.py b/gfe_integration_tests/test_rte/test_rte_during_run_forever.py index f04bd1c6..c2486451 100644 --- a/gfe_integration_tests/test_rte/test_rte_during_run_forever.py +++ b/gfe_integration_tests/test_rte/test_rte_during_run_forever.py @@ -29,16 +29,15 @@ def start(): sleep(3.0) s.stop_run() - conn = DatabaseConnection(start, local_port=None) - s.setup(model_binary_folder=os.path.dirname(__file__)) - s.add_machine_vertex_instance(RunVertex( - "test_rte_during_run.aplx", - ExecutableType.USES_SIMULATION_INTERFACE)) - s.add_socket_address(None, "localhost", conn.local_port) - s.run(None) - with pytest.raises(ExecutableFailedToStopException): - s.stop() - conn.close() + with DatabaseConnection(start, local_port=None) as conn: + s.setup(model_binary_folder=os.path.dirname(__file__)) + s.add_machine_vertex_instance(RunVertex( + "test_rte_during_run.aplx", + ExecutableType.USES_SIMULATION_INTERFACE)) + s.add_socket_address(None, "localhost", conn.local_port) + s.run(None) + with pytest.raises(ExecutableFailedToStopException): + s.stop() if __name__ == "__main__": diff --git a/spinnaker_graph_front_end/__init__.py b/spinnaker_graph_front_end/__init__.py index d14ae800..eb3362bf 100644 --- a/spinnaker_graph_front_end/__init__.py +++ b/spinnaker_graph_front_end/__init__.py @@ -79,8 +79,9 @@ def setup(model_binary_module=None, model_binary_folder=None, database_socket_addresses=(), n_chips_required=None, n_boards_required=None, time_scale_factor=None, machine_time_step=None): - """ Set up a graph, ready to have vertices and edges added to it, and the\ - simulator engine that will execute the graph. + """ + Set up a graph, ready to have vertices and edges added to it, and the + simulator engine that will execute the graph. .. note:: This must be called *before* the other functions in this API. @@ -143,7 +144,8 @@ def setup(model_binary_module=None, def run(duration=None): - """ Run a simulation for a number of microseconds. + """ + Run a simulation for a number of microseconds. :param int duration: the number of microseconds the application code should run for @@ -153,7 +155,8 @@ def run(duration=None): def run_until_complete(n_steps=None): - """ Run until the simulation is complete. + """ + Run until the simulation is complete. :param int n_steps: If not ``None``, this specifies that the simulation should be @@ -165,7 +168,8 @@ def run_until_complete(n_steps=None): def stop(): - """ Do any necessary cleaning up before exiting. Unregisters the controller + """ + Do any necessary cleaning up before exiting. Unregisters the controller. """ # pylint: disable=global-variable-undefined global _executable_finder @@ -176,14 +180,16 @@ def stop(): def stop_run(): - """ Stop a request to run forever + """ + Stop a request to run forever. """ FecDataView.check_valid_simulator() __simulator.stop_run() def add_vertex_instance(vertex_to_add): - """ Add an existing application vertex to the unpartitioned graph. + """ + Add an existing application vertex to the unpartitioned graph. :param ~pacman.model.graphs.application.ApplicationVertex vertex_to_add: vertex instance to add to the graph @@ -192,12 +198,12 @@ def add_vertex_instance(vertex_to_add): def _new_edge_label(): - label = f"Edge {FecDataView.get_next_none_labelled_edge_number()}" - return label + return f"Edge {FecDataView.get_next_none_labelled_edge_number()}" def add_edge_instance(edge, partition_id): - """ Add an edge to the unpartitioned graph. + """ + Add an edge to the unpartitioned graph. :param ~pacman.model.graphs.application.ApplicationEdge edge: The edge to add. @@ -208,7 +214,8 @@ def add_edge_instance(edge, partition_id): def add_machine_vertex_instance(machine_vertex): - """ Add a machine vertex instance to the graph. + """ + Add a machine vertex instance to the graph. :param ~pacman.model.graphs.machine.MachineVertex machine_vertex: The vertex to add @@ -220,7 +227,8 @@ def add_machine_vertex_instance(machine_vertex): def add_machine_edge_instance(edge, partition_id): - """ Add a machine edge instance to the graph. + """ + Add a machine edge instance to the graph. :param ~pacman.model.graphs.machine.MachineEdge edge: The edge to add @@ -235,7 +243,8 @@ def add_machine_edge_instance(edge, partition_id): def add_socket_address( database_ack_port_num, database_notify_host, database_notify_port_num): - """ Add a socket address for the notification protocol. + """ + Add a socket address for the notification protocol. :param int database_ack_port_num: port number to send acknowledgement to @@ -253,8 +262,9 @@ def add_socket_address( def get_number_of_available_cores_on_machine(): - """ Get the number of cores on this machine that are available to the\ - simulation. + """ + Get the number of cores on this machine that are available to the + simulation. :rtype: int """ @@ -263,7 +273,8 @@ def get_number_of_available_cores_on_machine(): def has_ran(): - """ Get whether the simulation has already run. + """ + Get whether the simulation has already run. :rtype: bool """ @@ -271,7 +282,8 @@ def has_ran(): def routing_infos(): - """ Get information about how messages are routed on the machine. + """ + Get information about how messages are routed on the machine. :rtype: ~pacman.model.routing_info.RoutingInfo """ @@ -279,15 +291,22 @@ def routing_infos(): def placements(): - """ No Longer supported use View iterate_placements instead + """ + Get the placements. + + .. deprecated:: 7.0 + No Longer supported! Use View iterate_placements instead + + Instead of:: - Instead of - front_end.placements().placements + front_end.placements().placements - Use - FecDataView.iterate_placemements() + Use:: - FecDataView can be imported from spinn_front_end_common.data + FecDataView.iterate_placemements() + + :py:class:`~spinn_front_end_common.data.FecDataView` can be imported from + `spinn_front_end_common.data` """ raise NotImplementedError( "This method has been replaced with View methods such as " @@ -296,7 +315,8 @@ def placements(): def tags(): - """ Get the IPTAGs allocated on the machine. + """ + Get the IPTAGs allocated on the machine. :rtype: ~pacman.model.tags.Tags """ @@ -304,7 +324,8 @@ def tags(): def buffer_manager(): - """ Get the buffer manager being used for loading/extracting buffers + """ + Get the buffer manager being used for loading/extracting buffers. :rtype: ~spinn_front_end_common.interface.buffer_management.BufferManager """ @@ -312,7 +333,8 @@ def buffer_manager(): def machine(): - """ Get the model of the attached/allocated machine. + """ + Get the model of the attached/allocated machine. :rtype: ~spinn_machine.Machine """ @@ -326,7 +348,8 @@ def machine(): def is_allocated_machine(): - """ Get whether a machine is allocated. + """ + Get whether a machine is allocated. :rtype: bool """ diff --git a/spinnaker_graph_front_end/config_setup.py b/spinnaker_graph_front_end/config_setup.py index 39e740a4..b21693e8 100644 --- a/spinnaker_graph_front_end/config_setup.py +++ b/spinnaker_graph_front_end/config_setup.py @@ -24,11 +24,10 @@ def setup_configs(): """ - Sets up the configs including the users cfg file + Sets up the configs including the user's cfg file. Clears out any previous read configs but does not load the new configs so a warning is generated if a config is used before setup is called. - """ clear_cfg_files(False) add_spinnaker_cfg() # This add its dependencies too @@ -39,17 +38,16 @@ def setup_configs(): def unittest_setup(): """ - Does all the steps that may be required before a unittest + Does all the steps that may be required before a unittest. Resets the configs so only the local default configs are included. - The user cfg is NOT included! + The user cfg is *not* included! Unsets any previous simulators and tempdirs .. note:: - This file should only be called from Spynnaker tests + This file should only be called from sPyNNaker tests that do not call sim.setup - """ clear_cfg_files(True) add_spinnaker_cfg() # This add its dependencies too diff --git a/spinnaker_graph_front_end/spinnaker.py b/spinnaker_graph_front_end/spinnaker.py index 645e5f10..b8174a18 100644 --- a/spinnaker_graph_front_end/spinnaker.py +++ b/spinnaker_graph_front_end/spinnaker.py @@ -31,7 +31,8 @@ def _is_allocated_machine(): class SpiNNaker(AbstractSpinnakerBase): - """ The implementation of the SpiNNaker simulation interface. + """ + The implementation of the SpiNNaker simulation interface. .. note:: You should not normally instantiate this directly from user code. diff --git a/spinnaker_graph_front_end/utilities/data_utils.py b/spinnaker_graph_front_end/utilities/data_utils.py index 12c394f5..c064e514 100644 --- a/spinnaker_graph_front_end/utilities/data_utils.py +++ b/spinnaker_graph_front_end/utilities/data_utils.py @@ -18,7 +18,8 @@ def generate_system_data_region(spec, region_id, machine_vertex): - """ Generate a system data region for time-based simulations. + """ + Generate a system data region for time-based simulations. :param ~data_specification.DataSpecificationGenerator spec: The data specification to write to @@ -27,7 +28,6 @@ def generate_system_data_region(spec, region_id, machine_vertex): :param ~pacman.model.graphs.machine.MachineVertex machine_vertex: The machine vertex to write for """ - # reserve memory regions spec.reserve_memory_region( region=region_id, size=SIMULATION_N_BYTES, label='systemInfo') @@ -39,7 +39,8 @@ def generate_system_data_region(spec, region_id, machine_vertex): def generate_steps_system_data_region(spec, region_id, machine_vertex): - """ Generate a system data region for step-based simulations. + """ + Generate a system data region for step-based simulations. :param data_specification.DataSpecificationGenerator spec: The data specification to write to diff --git a/spinnaker_graph_front_end/utilities/simulator_vertex.py b/spinnaker_graph_front_end/utilities/simulator_vertex.py index ab023855..e7eb4928 100644 --- a/spinnaker_graph_front_end/utilities/simulator_vertex.py +++ b/spinnaker_graph_front_end/utilities/simulator_vertex.py @@ -27,8 +27,9 @@ class SimulatorVertex(MachineVertex, AbstractHasAssociatedBinary): - """ A machine vertex that is implemented by a binary APLX that supports\ - the spin1_api simulation control protocol. + """ + A machine vertex that is implemented by a binary APLX that supports + the spin1_api simulation control protocol. """ __slots__ = ["_binary_name", "__front_end"] diff --git a/unittests/test_version.py b/unittests/test_version.py index 7bf3d8d1..7c1ec2b6 100644 --- a/unittests/test_version.py +++ b/unittests/test_version.py @@ -23,7 +23,8 @@ class Test(unittest.TestCase): - """ Tests for the component version comparison + """ + Tests for the component version comparison """ # no unittest_setup to check version without it From 85d704e7fa1a56b9a40432f332f6d25e16cefcb9 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Fri, 24 Mar 2023 17:02:20 +0000 Subject: [PATCH 12/48] Reduce backslashes --- gfe_examples/template/python_template.py | 3 +-- spinnaker_graph_front_end/spinnaker.py | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/gfe_examples/template/python_template.py b/gfe_examples/template/python_template.py index 9360284e..2eda5489 100644 --- a/gfe_examples/template/python_template.py +++ b/gfe_examples/template/python_template.py @@ -37,8 +37,7 @@ # calculate total number of 'free' cores for the given board # (i.e. does not include those busy with SARK or reinjection) -total_number_of_cores = \ - front_end.get_number_of_available_cores_on_machine() +total_number_of_cores = front_end.get_number_of_available_cores_on_machine() # fill all cores with a Vertex each for x in range(0, total_number_of_cores): diff --git a/spinnaker_graph_front_end/spinnaker.py b/spinnaker_graph_front_end/spinnaker.py index b8174a18..0c8ee0c0 100644 --- a/spinnaker_graph_front_end/spinnaker.py +++ b/spinnaker_graph_front_end/spinnaker.py @@ -70,7 +70,7 @@ def __init__( def __repr__(self): if FecDataView.has_ipaddress(): - return f"SpiNNaker Graph Front End object " \ - f"for machine {FecDataView.get_ipaddress()}" + return (f"SpiNNaker Graph Front End object " + f"for machine {FecDataView.get_ipaddress()}") else: return "SpiNNaker Graph Front End object no machine set" From 2f8d18693c05a1f75339576248a364a10e715eda Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 28 Mar 2023 15:28:36 +0100 Subject: [PATCH 13/48] dummy setup.py --- setup.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 setup.py diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..ae0950da --- /dev/null +++ b/setup.py @@ -0,0 +1,17 @@ +# Copyright (c) 2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from setuptools import setup +if __name__ == '__main__': + setup() From 8e632b33033baf6b7b9513f0a9eebe92c6e6cad7 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Wed, 29 Mar 2023 16:07:43 +0100 Subject: [PATCH 14/48] Fix some issues --- .readthedocs.yml | 28 ++++++++++++++++++++++++++ spinnaker_graph_front_end/spinnaker.py | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 .readthedocs.yml diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 00000000..383b6330 --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,28 @@ +# Copyright (c) 2017-2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: 2 +build: + os: ubuntu-20.04 + tools: + python: "3.8" +sphinx: + configuration: doc/source/conf.py + builder: dirhtml + fail_on_warning: false +python: + install: + - requirements: doc/doc_requirements.txt + - method: pip + path: . diff --git a/spinnaker_graph_front_end/spinnaker.py b/spinnaker_graph_front_end/spinnaker.py index 0c8ee0c0..160a8e10 100644 --- a/spinnaker_graph_front_end/spinnaker.py +++ b/spinnaker_graph_front_end/spinnaker.py @@ -45,7 +45,7 @@ def __init__( """ :param int n_chips_required: How many chips are required. - *Prefer ``n_boards_required`` if possible.* + *Prefer* `n_boards_required` *if possible.* :param int n_boards_required: How many boards are required. Unnecessary with a local board. :param int time_scale_factor: From db8ce8ed0c0eba7784be29e8220432a9a1e57c04 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Thu, 30 Mar 2023 16:16:53 +0100 Subject: [PATCH 15/48] mock --- spinnaker_graph_front_end/config_setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spinnaker_graph_front_end/config_setup.py b/spinnaker_graph_front_end/config_setup.py index 39e740a4..e171e4fd 100644 --- a/spinnaker_graph_front_end/config_setup.py +++ b/spinnaker_graph_front_end/config_setup.py @@ -17,6 +17,7 @@ clear_cfg_files, set_cfg_files) from spinn_front_end_common.interface.config_setup import ( add_default_cfg, add_spinnaker_cfg) +from spinn_front_end_common.data.fec_data_writer import FecDataWriter #: The name of the configuration file CONFIG_FILE_NAME = "spiNNakerGraphFrontEnd.cfg" @@ -35,6 +36,7 @@ def setup_configs(): set_cfg_files( configfile=CONFIG_FILE_NAME, default=os.path.join(os.path.dirname(__file__), CONFIG_FILE_NAME)) + FecDataWriter.mock() def unittest_setup(): From 081518d41a88fdf90d14beb9dd5eb28711c5505a Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Thu, 30 Mar 2023 16:58:12 +0100 Subject: [PATCH 16/48] leave the install of coverage,flake8, pylint and spinx to the scripts --- setup.cfg | 6 ------ 1 file changed, 6 deletions(-) diff --git a/setup.cfg b/setup.cfg index 0679cf05..95bbacf9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -49,12 +49,6 @@ install_requires = [options.extras_require] test = SpiNNakerTestBase == 1!6.0.1 - flake8 >= 5.0 - coverage >= 4.4, < 5.0 # pytest will be brought in by pytest-cov pytest-cov testfixtures - sphinx >= 4 - pytest-timeout - pytest-forked - pytest-progress From d32f113bac6aba7fd3ed74689e2bac0f1b0e20c1 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Mon, 3 Apr 2023 16:14:39 +0100 Subject: [PATCH 17/48] cleanup setup --- MANIFEST.in | 2 +- setup.cfg | 4 ++++ setup.py | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/MANIFEST.in b/MANIFEST.in index 86061928..4e4eef7b 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1 +1 @@ -include CITATION.cff LICENSE.md requirements.txt pypi_to_import \ No newline at end of file +include LICENSE LICENSE_POLICY.md README.md CITATION.cff \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 95bbacf9..fb510a41 100644 --- a/setup.cfg +++ b/setup.cfg @@ -46,6 +46,10 @@ include_package_data = True install_requires = SpiNNFrontEndCommon == 1!6.0.1 +[options.package_data] +* = + spiNNakerGraphFrontEnd.cfg + [options.extras_require] test = SpiNNakerTestBase == 1!6.0.1 diff --git a/setup.py b/setup.py index ae0950da..3c58b3cd 100644 --- a/setup.py +++ b/setup.py @@ -12,6 +12,22 @@ # See the License for the specific language governing permissions and # limitations under the License. +import distutils.dir_util from setuptools import setup +import os +import sys + + if __name__ == '__main__': + # Repeated installs assume files have not changed + # https://github.com/pypa/setuptools/issues/3236 + if len(sys.argv) > 0 and sys.argv[1] == 'egg_info': + # on the first call to setpy.py remove files left by previous install + this_dir = os.path.dirname(os.path.abspath(__file__)) + build_dir = os.path.join(this_dir, "build") + if os.path.isdir(build_dir): + distutils.dir_util.remove_tree(build_dir) + egg_dir = os.path.join(this_dir, "SpiNNakerGraphFrontEnd.egg-info") + if os.path.isdir(egg_dir): + distutils.dir_util.remove_tree(egg_dir) setup() From 6adf2cccda199eae2ff9cc3af5826f1b983bf759 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Wed, 12 Apr 2023 16:39:45 +0100 Subject: [PATCH 18/48] more direct way to directory --- unittests/test_cfg_checker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/unittests/test_cfg_checker.py b/unittests/test_cfg_checker.py index a66bb704..98818ea2 100644 --- a/unittests/test_cfg_checker.py +++ b/unittests/test_cfg_checker.py @@ -15,6 +15,7 @@ import os import unittest from spinn_utilities.config_holder import run_config_checks +import spinnaker_graph_front_end from spinnaker_graph_front_end.config_setup import unittest_setup @@ -28,7 +29,7 @@ def test_config_checks(self): parent = os.path.dirname(unittests) gfe_examples = os.path.join(parent, "gfe_examples") gfe_integration_tests = os.path.join(parent, "gfe_integration_tests") - gfe = os.path.join(parent, "spinnaker_graph_front_end") + gfe = spinnaker_graph_front_end.__path__[0] repeaters = [ "placer", "router", "info_allocator", "compressor"] run_config_checks( From be19e71d880f891d243090ea5e3a578f851be401 Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Thu, 13 Apr 2023 13:43:26 +0100 Subject: [PATCH 19/48] Add a GFE Live Example --- gfe_examples/live_io/Makefile | 25 ++++ gfe_examples/live_io/__init__.py | 15 +++ gfe_examples/live_io/live_io.py | 98 +++++++++++++++ gfe_examples/live_io/live_io_vertex.py | 78 ++++++++++++ gfe_examples/live_io/src/live_io.c | 164 +++++++++++++++++++++++++ 5 files changed, 380 insertions(+) create mode 100644 gfe_examples/live_io/Makefile create mode 100644 gfe_examples/live_io/__init__.py create mode 100644 gfe_examples/live_io/live_io.py create mode 100644 gfe_examples/live_io/live_io_vertex.py create mode 100644 gfe_examples/live_io/src/live_io.c diff --git a/gfe_examples/live_io/Makefile b/gfe_examples/live_io/Makefile new file mode 100644 index 00000000..e74a299a --- /dev/null +++ b/gfe_examples/live_io/Makefile @@ -0,0 +1,25 @@ +# Copyright (c) 2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# If SPINN_DIRS is not defined, this is an error! +ifndef SPINN_DIRS + $(error SPINN_DIRS is not set. Please define SPINN_DIRS (possibly by running "source setup" in the spinnaker package folder)) +endif + +APP = live_io +SOURCES = live_io.c + +APP_OUTPUT_DIR := $(abspath $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))/ + +include $(SPINN_DIRS)/make/local.mk diff --git a/gfe_examples/live_io/__init__.py b/gfe_examples/live_io/__init__.py new file mode 100644 index 00000000..ee57709e --- /dev/null +++ b/gfe_examples/live_io/__init__.py @@ -0,0 +1,15 @@ +# Copyright (c) 2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +__author__ = 'Arthur Ceccotti' diff --git a/gfe_examples/live_io/live_io.py b/gfe_examples/live_io/live_io.py new file mode 100644 index 00000000..48f115e5 --- /dev/null +++ b/gfe_examples/live_io/live_io.py @@ -0,0 +1,98 @@ +# Copyright (c) 2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +from time import sleep +from random import randint +from pacman.model.graphs.machine.machine_edge import MachineEdge +from spinn_front_end_common.data.fec_data_view import FecDataView +from spinn_front_end_common.utilities.connections import LiveEventConnection +from spinn_front_end_common.utility_models import ( + LivePacketGatherMachineVertex, ReverseIPTagMulticastSourceMachineVertex) +from spinn_front_end_common.utilities.utility_objs import ( + LivePacketGatherParameters) +import spinnaker_graph_front_end as front_end +from gfe_examples.live_io.live_io_vertex import LiveIOVertex + +n_receivers = 20 +receiver_label = "Receiver" +sender_label = "Sender" +sender_partition = "Send" +n_sender_keys = 32 +sends_per_cycle = 10 +lpg_label = "LPGReceiver" +running = True + + +def start_sending(label, c): + sleep(0.5) + while running: + for _ in range(sends_per_cycle): + key = randint(0, n_sender_keys - 1) + print(f"Sending {key}") + c.send_event(sender_label, key) + sleep(0.1) + + +def end_sim(label, c): + global running + running = False + + +def receive(label, time, keys): + print(f"Received from {label} at time {time}: {keys}") + + +# Make a connection to send and receive data +conn = LiveEventConnection( + live_packet_gather_label=lpg_label, + receive_labels=[receiver_label + f" {x}" for x in range(n_receivers)], + send_labels=[sender_label], local_port=None) +conn.add_start_resume_callback(sender_label, start_sending) +conn.add_pause_stop_callback(sender_label, end_sim) +for x in range(n_receivers): + conn.add_receive_callback(receiver_label + f" {x}", receive) + +front_end.setup( + n_chips_required=1, model_binary_folder=os.path.dirname(__file__)) +front_end.add_socket_address(None, None, conn.local_port) + +# Add a sender +sender = ReverseIPTagMulticastSourceMachineVertex( + n_keys=n_sender_keys, label="Sender", + injection_partition_id=sender_partition) +front_end.add_machine_vertex_instance(sender) + +live_out = LivePacketGatherMachineVertex( + LivePacketGatherParameters(tag=1, port=10000, hostname="localhost"), + label=lpg_label) +front_end.add_machine_vertex_instance(live_out) + + +# Put LiveIOVertex on some cores +for x in range(n_receivers): + vertex = LiveIOVertex( + n_keys=n_sender_keys, send_partition=sender_partition, + label=receiver_label + f" {x}") + front_end.add_machine_vertex_instance(vertex) + front_end.add_machine_edge_instance( + MachineEdge(sender, vertex), sender_partition) + front_end.add_machine_edge_instance( + MachineEdge(vertex, live_out), sender_partition) + live_out.add_incoming_source(vertex, sender_partition) + FecDataView.add_live_output_vertex(vertex, sender_partition) + +front_end.run(10000) + +front_end.stop() diff --git a/gfe_examples/live_io/live_io_vertex.py b/gfe_examples/live_io/live_io_vertex.py new file mode 100644 index 00000000..e8033e00 --- /dev/null +++ b/gfe_examples/live_io/live_io_vertex.py @@ -0,0 +1,78 @@ +# Copyright (c) 2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from enum import IntEnum +import logging +from spinn_utilities.log import FormatAdapter +from spinn_utilities.overrides import overrides +from pacman.model.graphs.common import Slice +from pacman.model.graphs.machine import MachineVertex +from pacman.model.resources import ConstantSDRAM +from spinn_front_end_common.utilities.constants import ( + SYSTEM_BYTES_REQUIREMENT, BYTES_PER_WORD) +from spinn_front_end_common.abstract_models.impl import ( + MachineDataSpecableVertex) +from spinn_front_end_common.data.fec_data_view import FecDataView +from spinnaker_graph_front_end.utilities import SimulatorVertex + +logger = FormatAdapter(logging.getLogger(__name__)) +N_KEY_DATA_BYTES = 3 * BYTES_PER_WORD + + +class DataRegions(IntEnum): + SYSTEM = 0 + KEY_DATA = 1 + + +class LiveIOVertex( + SimulatorVertex, MachineDataSpecableVertex): + + def __init__(self, n_keys, send_partition="LiveOut", label=None): + super().__init__(label, "live_io.aplx") + self.__n_keys = n_keys + self.__send_partition = send_partition + self._vertex_slice = Slice(0, n_keys - 1) + + @property + @overrides(MachineVertex.sdram_required) + def sdram_required(self): + return ConstantSDRAM( + SYSTEM_BYTES_REQUIREMENT + N_KEY_DATA_BYTES) + + def get_n_keys_for_partition(self, partition_id): + return self.__n_keys + + @overrides(MachineDataSpecableVertex.generate_machine_data_specification) + def generate_machine_data_specification( + self, spec, placement, iptags, reverse_iptags): + # Generate the system data region for simulation .c requirements + self.generate_system_region(spec) + + spec.reserve_memory_region(DataRegions.KEY_DATA, N_KEY_DATA_BYTES) + spec.switch_write_focus(DataRegions.KEY_DATA) + + routing_infos = FecDataView().get_routing_infos() + r_info = routing_infos.get_routing_info_from_pre_vertex( + placement.vertex, self.__send_partition) + if r_info is None: + spec.write_value(0) + spec.write_value(0) + spec.write_value(0) + else: + spec.write_value(1) + spec.write_value(r_info.key) + spec.write_value((~r_info.mask) & 0xFFFFFFFF) + + # End-of-Spec: + spec.end_specification() diff --git a/gfe_examples/live_io/src/live_io.c b/gfe_examples/live_io/src/live_io.c new file mode 100644 index 00000000..6614bec4 --- /dev/null +++ b/gfe_examples/live_io/src/live_io.c @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2023 The University of Manchester + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +//! imports +#include +#include "common-typedefs.h" +#include +#include +#include +#include + +//! control value, which says how many timer ticks to run for before exiting +static uint32_t simulation_ticks = 0; +static uint32_t infinite_run = 0; +static uint32_t time = 0; + +//! int as a bool to represent if this simulation should run forever +static uint32_t infinite_run; + +//! The key to send data with +static uint32_t send_key; + +//! Whether the data should be sent +static uint32_t do_send; + +//! The mask to apply to the key to extract any data before sending +static uint32_t key_mask; + +//! human readable definitions of each region in SDRAM +typedef enum regions_e { + SYSTEM_REGION, + KEY_DATA_REGION, +} regions_e; + +//! values for the priority for each callback +typedef enum callback_priorities { + MC_PACKET = -1, + SDP = 0, + DMA = 1, + TIMER = 2, + USER = 3 +} callback_priorities; + +// ------------------------------------------------------------------- + +static void receive_data_pl(uint key, uint payload) { + log_info("Key=%u Payload=%u", key, payload); + if (do_send) { + uint key_to_send = send_key | (key & key_mask); + spin1_send_mc_packet(key_to_send, payload, 1); + } +} + +static void receive_data(uint key, UNUSED uint unused) { + log_info("Key=%u", key); + if (do_send) { + uint key_to_send = send_key | (key & key_mask); + spin1_send_mc_packet(key_to_send, 0, 0); + } +} + +static void update(uint ticks, uint b) { + use(b); + use(ticks); + + time++; + + // check that the run time hasn't already elapsed and thus needs to be + // killed + if ((infinite_run != TRUE) && (time >= simulation_ticks)) { + + // fall into the pause resume mode of operating + simulation_handle_pause_resume(NULL); + + // switch to state where host is ready to read + simulation_ready_to_read(); + + return; + } +} + +static bool initialize(uint32_t *timer_period) { + log_info("Initialise: started\n"); + + // Get the address this core's DTCM data starts at from SRAM + data_specification_metadata_t *data = data_specification_get_data_address(); + + // Read the header + if (!data_specification_read_header(data)) { + log_error("failed to read the data spec header"); + return false; + } + + // Get the timing details and set up the simulation interface + if (!simulation_initialise( + data_specification_get_region(SYSTEM_REGION, data), + APPLICATION_NAME_HASH, timer_period, &simulation_ticks, + &infinite_run, &time, SDP, DMA)) { + return false; + } + + // Get key data + uint *key_data = data_specification_get_region(KEY_DATA_REGION, data); + do_send = key_data[0]; + send_key = key_data[1]; + key_mask = key_data[2]; + + if (do_send) { + log_info("Re-sending received keys with key 0x%08x and mask 0x%08x", + send_key, key_mask); + } else { + log_info("Not re-sending received keys"); + } + + return true; +} + +/****f* + * + * SUMMARY + * This function is called at application start-up. + * It is used to register event callbacks and begin the simulation. + * + * SYNOPSIS + * int c_main() + * + * SOURCE + */ +void c_main(void) { + + // Load DTCM data + uint32_t timer_period; + + // initialise the model + if (!initialize(&timer_period)) { + rt_error(RTE_SWERR); + } + + // set timer tick value to configured value + spin1_set_timer_tick(timer_period); + + // register callbacks + spin1_callback_on(MCPL_PACKET_RECEIVED, receive_data_pl, MC_PACKET); + spin1_callback_on(MC_PACKET_RECEIVED, receive_data, MC_PACKET); + spin1_callback_on(TIMER_TICK, update, TIMER); + + // Start the time at "-1" so that the first tick will be 0 + time = UINT32_MAX; + + simulation_run(); +} From a3b5e16e70204cf4151b509cef7c359345d12408 Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Thu, 13 Apr 2023 13:45:28 +0100 Subject: [PATCH 20/48] Add to correct places --- gfe_examples/Makefile | 2 +- gfe_integration_tests/test_scripts.py | 58 +++++++++++++++------------ 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/gfe_examples/Makefile b/gfe_examples/Makefile index 085af7f4..0942c084 100644 --- a/gfe_examples/Makefile +++ b/gfe_examples/Makefile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -BUILD_DIRS = hello_world hello_world_untimed Conways template sync_test +BUILD_DIRS = hello_world hello_world_untimed Conways template sync_test live_io all: $(BUILD_DIRS) for d in $(BUILD_DIRS); do (cd $$d; "$(MAKE)") || exit $$?; done diff --git a/gfe_integration_tests/test_scripts.py b/gfe_integration_tests/test_scripts.py index 3c685472..9d6af358 100644 --- a/gfe_integration_tests/test_scripts.py +++ b/gfe_integration_tests/test_scripts.py @@ -27,47 +27,53 @@ class TestScripts(ScriptChecker): """ # flake8: noqa - def test_gfe_examples_sync_test_sync_test(self): - self.check_script("gfe_examples/sync_test/sync_test.py") + def test_gfe_examples_live_io_live_io(self): + self.check_script("gfe_examples/live_io/live_io.py") - def test_gfe_examples_sync_test_sync_test_vertex(self): - self.check_script("gfe_examples/sync_test/sync_test_vertex.py") + def test_gfe_examples_live_io_live_io_vertex(self): + self.check_script("gfe_examples/live_io/live_io_vertex.py") - def test_gfe_examples_Conways_one_no_graph_example_conways_no_graph(self): - self.check_script("gfe_examples/Conways/one_no_graph_example/conways_no_graph.py") + def test_gfe_examples_template_template_vertex(self): + self.check_script("gfe_examples/template/template_vertex.py") - def test_gfe_examples_Conways_partitioned_example_a_no_vis_no_buffer_conways_basic_cell(self): - self.check_script("gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py") + def test_gfe_examples_template_python_template(self): + self.check_script("gfe_examples/template/python_template.py") - def test_gfe_examples_Conways_partitioned_example_a_no_vis_no_buffer_conways_partitioned(self): - self.check_script("gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py") + def test_gfe_examples_hello_world_untimed_hello_world(self): + self.check_script("gfe_examples/hello_world_untimed/hello_world.py") - def test_gfe_examples_Conways_partitioned_example_b_no_vis_buffer_conways_basic_cell(self): - self.check_script("gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py") + def test_gfe_examples_hello_world_untimed_hello_world_vertex(self): + self.check_script("gfe_examples/hello_world_untimed/hello_world_vertex.py") def test_gfe_examples_Conways_partitioned_example_b_no_vis_buffer_conways_partitioned(self): self.check_script("gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_partitioned.py") - def test_gfe_examples_Conways_no_edges_examples_conways_basic_cell(self): - self.check_script("gfe_examples/Conways/no_edges_examples/conways_basic_cell.py") + def test_gfe_examples_Conways_partitioned_example_b_no_vis_buffer_conways_basic_cell(self): + self.check_script("gfe_examples/Conways/partitioned_example_b_no_vis_buffer/conways_basic_cell.py") + + def test_gfe_examples_Conways_partitioned_example_a_no_vis_no_buffer_conways_partitioned(self): + self.check_script("gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_partitioned.py") + + def test_gfe_examples_Conways_partitioned_example_a_no_vis_no_buffer_conways_basic_cell(self): + self.check_script("gfe_examples/Conways/partitioned_example_a_no_vis_no_buffer/conways_basic_cell.py") + + def test_gfe_examples_Conways_one_no_graph_example_conways_no_graph(self): + self.check_script("gfe_examples/Conways/one_no_graph_example/conways_no_graph.py") def test_gfe_examples_Conways_no_edges_examples_conways_no_edges(self): self.check_script("gfe_examples/Conways/no_edges_examples/conways_no_edges.py") + def test_gfe_examples_Conways_no_edges_examples_conways_basic_cell(self): + self.check_script("gfe_examples/Conways/no_edges_examples/conways_basic_cell.py") + + def test_gfe_examples_sync_test_sync_test_vertex(self): + self.check_script("gfe_examples/sync_test/sync_test_vertex.py") + + def test_gfe_examples_sync_test_sync_test(self): + self.check_script("gfe_examples/sync_test/sync_test.py") + def test_gfe_examples_hello_world_hello_world(self): self.check_script("gfe_examples/hello_world/hello_world.py") def test_gfe_examples_hello_world_hello_world_vertex(self): self.check_script("gfe_examples/hello_world/hello_world_vertex.py") - - def test_gfe_examples_hello_world_untimed_hello_world(self): - self.check_script("gfe_examples/hello_world_untimed/hello_world.py") - - def test_gfe_examples_hello_world_untimed_hello_world_vertex(self): - self.check_script("gfe_examples/hello_world_untimed/hello_world_vertex.py") - - def test_gfe_examples_template_python_template(self): - self.check_script("gfe_examples/template/python_template.py") - - def test_gfe_examples_template_template_vertex(self): - self.check_script("gfe_examples/template/template_vertex.py") From 6751e36e49e6bbb288ecc2619748056542b35d0b Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Thu, 13 Apr 2023 13:49:22 +0100 Subject: [PATCH 21/48] Pylint disables --- gfe_examples/live_io/live_io.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gfe_examples/live_io/live_io.py b/gfe_examples/live_io/live_io.py index 48f115e5..508b3749 100644 --- a/gfe_examples/live_io/live_io.py +++ b/gfe_examples/live_io/live_io.py @@ -36,6 +36,7 @@ def start_sending(label, c): + # pylint: disable=unused-argument sleep(0.5) while running: for _ in range(sends_per_cycle): @@ -46,6 +47,7 @@ def start_sending(label, c): def end_sim(label, c): + # pylint: disable=unused-argument global running running = False From 8af490fffa2eb431c6c94a0f5570b2c96b198328 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Mon, 17 Apr 2023 08:13:49 +0100 Subject: [PATCH 22/48] Enable spell checking of docstrings --- .github/workflows/python_actions.yml | 47 ++++++++++++++++++++++++++-- .pylintrc | 4 +-- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 2db19fa9..6906bbaf 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -32,6 +32,7 @@ jobs: with: repository: SpiNNakerManchester/SupportScripts path: support + ref: spell-chucking - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 @@ -71,19 +72,59 @@ jobs: with: package: spinnaker_graph_front_end gfe_examples exitcheck: 39 + # Enable spell checking + language: en_GB + validate: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.8] + env: + ROOT_PKG: spinn_utilities + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Checkout SupportScripts + uses: actions/checkout@v3 + with: + repository: SpiNNakerManchester/SupportScripts + path: support + ref: spell-chucking + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install pip, etc + uses: ./support/actions/python-tools + - name: Install Spinnaker Dependencies + uses: ./support/actions/install-spinn-deps + with: + repositories: > + SpiNNUtils SpiNNMachine SpiNNMan PACMAN DataSpecification spalloc + SpiNNFrontEndCommon TestBase + install: true + - name: Install matplotlib + uses: ./support/actions/install-matplotlib + - name: Setup + uses: ./support/actions/run-install + + - name: Create a configuration file + uses: ./support/actions/configure-spynnaker + with: + board-address: spinn-4.cs.man.ac.uk + - run: mv ~/.spynnaker.cfg ~/.spiNNakerGraphFrontEnd.cfg - name: Run rat copyright enforcement - if: matrix.python-version == 3.8 uses: ./support/actions/check-copyrights with: config_file: rat_asl20.xml - name: Build documentation with sphinx - if: matrix.python-version == 3.8 uses: ./support/actions/sphinx with: directory: doc/source - name: Validate CITATION.cff - if: matrix.python-version == 3.8 uses: dieghernan/cff-validator@main diff --git a/.pylintrc b/.pylintrc index b8e712b2..e72b7771 100644 --- a/.pylintrc +++ b/.pylintrc @@ -146,7 +146,7 @@ disable=print-statement, # either give multiple identifier separated by comma (,) or put this option # multiple time (only on the command line, not in the configuration file where # it should appear only once). See also the "--disable" option for examples. -enable=c-extension-no-member +enable=c-extension-no-member,C0402,C0403 [REPORTS] @@ -538,4 +538,4 @@ known-third-party=enchant # Exceptions that will emit a warning when being caught. Defaults to # "Exception" -overgeneral-exceptions=Exception +overgeneral-exceptions=builtin.Exception From c20176122ae8456c486f3e421badb6afdc019cf6 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Mon, 17 Apr 2023 08:17:08 +0100 Subject: [PATCH 23/48] Arg renamed --- spinnaker_graph_front_end/config_setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spinnaker_graph_front_end/config_setup.py b/spinnaker_graph_front_end/config_setup.py index 2a2d1a52..fdcc4ee7 100644 --- a/spinnaker_graph_front_end/config_setup.py +++ b/spinnaker_graph_front_end/config_setup.py @@ -33,7 +33,7 @@ def setup_configs(): clear_cfg_files(False) add_spinnaker_cfg() # This add its dependencies too set_cfg_files( - configfile=CONFIG_FILE_NAME, + config_file=CONFIG_FILE_NAME, default=os.path.join(os.path.dirname(__file__), CONFIG_FILE_NAME)) FecDataWriter.mock() From e0fea41e558e55141e6fc9c4ddcf99a4ba7095b6 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Mon, 17 Apr 2023 08:21:36 +0100 Subject: [PATCH 24/48] Start a dictionary --- .pylint_dict.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .pylint_dict.txt diff --git a/.pylint_dict.txt b/.pylint_dict.txt new file mode 100644 index 00000000..3f6beb05 --- /dev/null +++ b/.pylint_dict.txt @@ -0,0 +1,20 @@ +# Copyright (c) 2023 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Python packages +pacman + +# Python types +MachineEdge +ModuleType From 1241de573e5e2fc72efd5d360a8fff21abf523bb Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Mon, 17 Apr 2023 08:31:14 +0100 Subject: [PATCH 25/48] Starting to fix things --- .pylint_dict.txt | 12 ++++++++++++ spinnaker_graph_front_end/config_setup.py | 20 +++++++++++--------- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/.pylint_dict.txt b/.pylint_dict.txt index 3f6beb05..45e24610 100644 --- a/.pylint_dict.txt +++ b/.pylint_dict.txt @@ -12,9 +12,21 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Our abbreviations +GFE +gfe +aplx + +# Our special words +unpartitioned +unregisters + # Python packages pacman +spalloc # Python types +ApplicationVertex +MachineVertex MachineEdge ModuleType diff --git a/spinnaker_graph_front_end/config_setup.py b/spinnaker_graph_front_end/config_setup.py index fdcc4ee7..a002c132 100644 --- a/spinnaker_graph_front_end/config_setup.py +++ b/spinnaker_graph_front_end/config_setup.py @@ -25,10 +25,11 @@ def setup_configs(): """ - Sets up the configs including the user's cfg file. + Sets up the configurations including the user's configuration file. - Clears out any previous read configs but does not load the new configs - so a warning is generated if a config is used before setup is called. + Clears out any previous read configurations but does not load the new + configurations so a warning is generated if a configuration is used before + :py:func:`~spinnaker_graph_front_end.setup` is called. """ clear_cfg_files(False) add_spinnaker_cfg() # This add its dependencies too @@ -40,16 +41,17 @@ def setup_configs(): def unittest_setup(): """ - Does all the steps that may be required before a unittest. + Does all the steps that may be required before a unit test. - Resets the configs so only the local default configs are included. - The user cfg is *not* included! + Resets the configurations so only the local default configurations are + included. + The user configuration is *not* included! - Unsets any previous simulators and tempdirs + Unsets any previous simulators and temporary directories. .. note:: - This file should only be called from sPyNNaker tests - that do not call sim.setup + This file should only be called from spinnaker_graph_front_end tests + that do not call :py:func:`~spinnaker_graph_front_end.setup`. """ clear_cfg_files(True) add_spinnaker_cfg() # This add its dependencies too From 6d00d209647023558d6703834a948435bae6c7b4 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Mon, 17 Apr 2023 08:40:18 +0100 Subject: [PATCH 26/48] Fix a few more things I've disabled missing-module-docstring because that's common and not about to be fixed for most modules in the GFE --- .pylint_dict.txt | 4 ++++ .pylintrc | 3 ++- spinnaker_graph_front_end/config_setup.py | 4 ++++ spinnaker_graph_front_end/utilities/simulator_vertex.py | 6 +++--- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.pylint_dict.txt b/.pylint_dict.txt index 45e24610..8a7d1a93 100644 --- a/.pylint_dict.txt +++ b/.pylint_dict.txt @@ -13,13 +13,16 @@ # limitations under the License. # Our abbreviations +DSG GFE gfe aplx # Our special words +timestep unpartitioned unregisters +unsets # Python packages pacman @@ -28,5 +31,6 @@ spalloc # Python types ApplicationVertex MachineVertex +ApplicationEdge MachineEdge ModuleType diff --git a/.pylintrc b/.pylintrc index e72b7771..e3560601 100644 --- a/.pylintrc +++ b/.pylintrc @@ -140,7 +140,8 @@ disable=print-statement, global-statement, fixme, protected-access, - attribute-defined-outside-init + attribute-defined-outside-init, + missing-module-docstring # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option diff --git a/spinnaker_graph_front_end/config_setup.py b/spinnaker_graph_front_end/config_setup.py index a002c132..75d5b5c2 100644 --- a/spinnaker_graph_front_end/config_setup.py +++ b/spinnaker_graph_front_end/config_setup.py @@ -12,6 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +""" +Utilities for setting up the global configuration. +""" + import os from spinn_utilities.config_holder import ( clear_cfg_files, set_cfg_files) diff --git a/spinnaker_graph_front_end/utilities/simulator_vertex.py b/spinnaker_graph_front_end/utilities/simulator_vertex.py index e7eb4928..1211a4de 100644 --- a/spinnaker_graph_front_end/utilities/simulator_vertex.py +++ b/spinnaker_graph_front_end/utilities/simulator_vertex.py @@ -19,17 +19,17 @@ from spinn_front_end_common.abstract_models import AbstractHasAssociatedBinary from spinn_front_end_common.data import FecDataView from spinn_front_end_common.utilities.utility_objs import ExecutableType -from spinnaker_graph_front_end.utilities.data_utils import ( - generate_system_data_region) from spinn_front_end_common.interface.buffer_management import ( recording_utilities) +from spinnaker_graph_front_end.utilities.data_utils import ( + generate_system_data_region) log = FormatAdapter(logging.getLogger(__file__)) class SimulatorVertex(MachineVertex, AbstractHasAssociatedBinary): """ A machine vertex that is implemented by a binary APLX that supports - the spin1_api simulation control protocol. + the `spin1_api` simulation control protocol. """ __slots__ = ["_binary_name", "__front_end"] From f7234b338aa59d7815d79c92f866e06e5321db34 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Mon, 17 Apr 2023 10:42:25 +0100 Subject: [PATCH 27/48] License :: OSI Approved :: Apache Software License --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index fb510a41..1d6d40d3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -24,7 +24,7 @@ classifiers= Development Status :: 5 - Production/Stable Intended Audience :: Developers Intended Audience :: Science/Research - License :: OSI Approved :: Apache License 2.0 + License :: OSI Approved :: Apache Software License Natural Language :: English Operating System :: POSIX :: Linux Operating System :: Microsoft :: Windows From 357f0721222a4bf698c5727938015a7795bc387e Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Mon, 17 Apr 2023 10:52:49 +0100 Subject: [PATCH 28/48] remove unneeded : --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 4e9ac994..b2bf2c79 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,4 +14,4 @@ [build-system] requires = ["setuptools"] -build-backend = "setuptools.build_meta:" \ No newline at end of file +build-backend = "setuptools.build_meta" \ No newline at end of file From 88ceaf194a710650c7dfa60f8e984364bf951a5b Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Mon, 17 Apr 2023 10:53:58 +0100 Subject: [PATCH 29/48] copyright year --- .readthedocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index 383b6330..c5fd9511 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2023 The University of Manchester +# Copyright (c) 2017 The University of Manchester # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. From 6ab888af76f8c14f782f313d00b099e8d46785fb Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Mon, 17 Apr 2023 11:53:24 +0100 Subject: [PATCH 30/48] Trim the dict --- .pylint_dict.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.pylint_dict.txt b/.pylint_dict.txt index 8a7d1a93..355c68de 100644 --- a/.pylint_dict.txt +++ b/.pylint_dict.txt @@ -13,17 +13,10 @@ # limitations under the License. # Our abbreviations -DSG GFE gfe aplx -# Our special words -timestep -unpartitioned -unregisters -unsets - # Python packages pacman spalloc From 9d04579aaa661656e5f83eb242318c63b31fb6c3 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Mon, 17 Apr 2023 16:47:06 +0100 Subject: [PATCH 31/48] remove quotes --- setup.cfg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setup.cfg b/setup.cfg index 1d6d40d3..47426761 100644 --- a/setup.cfg +++ b/setup.cfg @@ -15,12 +15,12 @@ [metadata] name = SpiNNakerGraphFrontEnd version = attr: spinnaker_graph_front_end._version.__version__ -description= "Front end to the SpiNNaker tool chain which uses a basic graph" +description= Front end to the SpiNNaker tool chain which uses a basic graph long_description = file: README.md long_description_content_type = text/markdown -url="https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd" -license="Apache License 2.0" -classifiers= +url = https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd +license = Apache License 2.0 +classifiers = Development Status :: 5 - Production/Stable Intended Audience :: Developers Intended Audience :: Science/Research @@ -35,8 +35,8 @@ classifiers= Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 -maintainer="SpiNNakerTeam" -maintainer_email="spinnakerusers@googlegroups.com" +maintainer = SpiNNakerTeam +maintainer_email = spinnakerusers@googlegroups.com [options] python_requires = >=3.7, <4 From 40ad3a5b00f6c6999bc80f6a9cc23259e3424642 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Wed, 19 Apr 2023 14:42:04 +0100 Subject: [PATCH 32/48] Tidy up the workflow --- .github/workflows/python_actions.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 6906bbaf..37a977f9 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -24,6 +24,8 @@ jobs: matrix: python-version: [3.7, 3.8, 3.9, "3.10", "3.11"] + env: + BASE_PKG: spinnaker_graph_front_end steps: - name: Checkout uses: actions/checkout@v3 @@ -32,7 +34,6 @@ jobs: with: repository: SpiNNakerManchester/SupportScripts path: support - ref: spell-chucking - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 @@ -62,17 +63,15 @@ jobs: with: tests: unittests coverage: ${{ matrix.python-version == 3.8 }} - cover-packages: spinnaker_graph_front_end + cover-packages: ${{ env.BASE_PKG }} coveralls-token: ${{ secrets.GITHUB_TOKEN }} - name: Lint with flake8 - run: flake8 spinnaker_graph_front_end unittests gfe_examples + run: flake8 ${{ env.BASE_PKG }} unittests gfe_examples - name: Lint with pylint uses: ./support/actions/pylint with: - package: spinnaker_graph_front_end gfe_examples - exitcheck: 39 - # Enable spell checking + package: ${{ env.BASE_PKG }} gfe_examples language: en_GB validate: @@ -80,8 +79,6 @@ jobs: strategy: matrix: python-version: [3.8] - env: - ROOT_PKG: spinn_utilities steps: - name: Checkout @@ -91,7 +88,6 @@ jobs: with: repository: SpiNNakerManchester/SupportScripts path: support - ref: spell-chucking - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From 3b74ea3c53f07e24de1fbbb5ca58238bc8c11777 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Thu, 20 Apr 2023 10:04:47 +0100 Subject: [PATCH 33/48] Factor out the version of linked docs This is a version FOR CROSS-LINKING ONLY --- doc/source/conf.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index fc08217c..39e46d04 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -55,21 +55,28 @@ 'sphinx.ext.intersphinx' ] +# Which version of other SpiNNaker docs do we refer to? +spinnaker_doc_version = "latest" + intersphinx_mapping = { 'python': ('https://docs.python.org/3.8', None), 'numpy': ("https://numpy.org/doc/1.20/", None), 'spinn_utilities': ( - 'https://spinnutils.readthedocs.io/en/latest/', None), + f'https://spinnutils.readthedocs.io/en/{spinnaker_doc_version}/', + None), 'spinn_machine': ( - 'https://spinnmachine.readthedocs.io/en/latest/', None), + f'https://spinnmachine.readthedocs.io/en/{spinnaker_doc_version}/', + None), 'spinnman': ( - 'https://spinnman.readthedocs.io/en/latest/', None), + f'https://spinnman.readthedocs.io/en/{spinnaker_doc_version}/', None), 'pacman': ( - 'https://pacman.readthedocs.io/en/latest/', None), + f'https://pacman.readthedocs.io/en/{spinnaker_doc_version}/', None), 'data_specification': ( - 'https://dataspecification.readthedocs.io/en/latest/', None), + 'https://dataspecification.readthedocs.io/en/' + f'{spinnaker_doc_version}/', None), 'spinn_front_end_common': ( - 'https://spinnfrontendcommon.readthedocs.io/en/latest/', None) + 'https://spinnfrontendcommon.readthedocs.io/en/' + f'{spinnaker_doc_version}/', None) } # Add any paths that contain templates here, relative to this directory. From edd285330b007e9723154a7cf692fe7e3d46c90b Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Thu, 20 Apr 2023 12:10:56 +0100 Subject: [PATCH 34/48] from spinnman.model.enums import ExecutableType --- gfe_examples/sync_test/sync_test_vertex.py | 2 +- .../sdram_edge_tests/common/sdram_machine_vertex.py | 2 +- gfe_integration_tests/test_extra_monitor/sdram_writer.py | 2 +- gfe_integration_tests/test_rte/test_rte_during_run.py | 2 +- gfe_integration_tests/test_rte/test_rte_during_run_forever.py | 2 +- gfe_integration_tests/test_rte/test_rte_start.py | 2 +- gfe_integration_tests/test_rte/test_run_too_long.py | 2 +- spinnaker_graph_front_end/utilities/simulator_vertex.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gfe_examples/sync_test/sync_test_vertex.py b/gfe_examples/sync_test/sync_test_vertex.py index c09886d9..3dfabaaa 100644 --- a/gfe_examples/sync_test/sync_test_vertex.py +++ b/gfe_examples/sync_test/sync_test_vertex.py @@ -16,6 +16,7 @@ import logging from spinn_utilities.log import FormatAdapter from spinn_utilities.overrides import overrides +from spinnman.model.enums import ExecutableType from pacman.model.graphs.machine import MachineVertex from pacman.model.resources import ConstantSDRAM from spinn_front_end_common.data import FecDataView @@ -23,7 +24,6 @@ SYSTEM_BYTES_REQUIREMENT, BYTES_PER_WORD) from spinn_front_end_common.abstract_models import ( AbstractGeneratesDataSpecification, AbstractHasAssociatedBinary) -from spinn_front_end_common.utilities.utility_objs import ExecutableType from spinnaker_graph_front_end.utilities.data_utils import ( generate_system_data_region) from pacman.model.graphs.application.abstract import ( diff --git a/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py b/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py index 363adfbc..9ebdeb63 100644 --- a/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py +++ b/gfe_integration_tests/sdram_edge_tests/common/sdram_machine_vertex.py @@ -13,6 +13,7 @@ # limitations under the License. from enum import IntEnum +from spinnman.model.enums import ExecutableType from pacman.model.graphs import AbstractSupportsSDRAMEdges from pacman.model.graphs.machine import MachineVertex from pacman.model.resources import ConstantSDRAM @@ -22,7 +23,6 @@ from spinn_front_end_common.interface.simulation import simulation_utilities from spinn_front_end_common.utilities.constants import ( SIMULATION_N_BYTES, BYTES_PER_WORD, SARK_PER_MALLOC_SDRAM_USAGE) -from spinn_front_end_common.utilities.utility_objs import ExecutableType from spinn_utilities.overrides import overrides diff --git a/gfe_integration_tests/test_extra_monitor/sdram_writer.py b/gfe_integration_tests/test_extra_monitor/sdram_writer.py index 16778812..9a01fbb9 100644 --- a/gfe_integration_tests/test_extra_monitor/sdram_writer.py +++ b/gfe_integration_tests/test_extra_monitor/sdram_writer.py @@ -14,13 +14,13 @@ from enum import IntEnum from spinn_utilities.overrides import overrides +from spinnman.model.enums import ExecutableType from pacman.model.graphs.machine import MachineVertex from pacman.model.resources import ConstantSDRAM from spinn_front_end_common.abstract_models import ( AbstractHasAssociatedBinary) from spinn_front_end_common.abstract_models.impl import ( MachineDataSpecableVertex) -from spinn_front_end_common.utilities.utility_objs import ExecutableType from spinn_front_end_common.interface.simulation import simulation_utilities from spinn_front_end_common.utilities.constants import ( SIMULATION_N_BYTES, SYSTEM_BYTES_REQUIREMENT, BYTES_PER_KB) diff --git a/gfe_integration_tests/test_rte/test_rte_during_run.py b/gfe_integration_tests/test_rte/test_rte_during_run.py index 52f3a20c..4d34d188 100644 --- a/gfe_integration_tests/test_rte/test_rte_during_run.py +++ b/gfe_integration_tests/test_rte/test_rte_during_run.py @@ -15,8 +15,8 @@ import os import traceback import pytest -from spinn_front_end_common.utilities.utility_objs import ExecutableType from spinnman.exceptions import SpinnmanException +from spinnman.model.enums import ExecutableType import spinnaker_graph_front_end as s from gfe_integration_tests.test_rte.run_vertex import RunVertex diff --git a/gfe_integration_tests/test_rte/test_rte_during_run_forever.py b/gfe_integration_tests/test_rte/test_rte_during_run_forever.py index c2486451..edea9122 100644 --- a/gfe_integration_tests/test_rte/test_rte_during_run_forever.py +++ b/gfe_integration_tests/test_rte/test_rte_during_run_forever.py @@ -14,7 +14,7 @@ import os from time import sleep -from spinn_front_end_common.utilities.utility_objs import ExecutableType +from spinnman.model.enums import ExecutableType from spinn_front_end_common.utilities.exceptions import ( ExecutableFailedToStopException) from spinn_front_end_common.utilities.database import DatabaseConnection diff --git a/gfe_integration_tests/test_rte/test_rte_start.py b/gfe_integration_tests/test_rte/test_rte_start.py index 1b1f34d4..e0b642f8 100644 --- a/gfe_integration_tests/test_rte/test_rte_start.py +++ b/gfe_integration_tests/test_rte/test_rte_start.py @@ -14,8 +14,8 @@ import os import pytest -from spinn_front_end_common.utilities.utility_objs import ExecutableType from spinnman.exceptions import SpinnmanException +from spinnman.model.enums import ExecutableType import spinnaker_graph_front_end as s from gfe_integration_tests.test_rte.run_vertex import RunVertex diff --git a/gfe_integration_tests/test_rte/test_run_too_long.py b/gfe_integration_tests/test_rte/test_run_too_long.py index 2c8cfa55..65180aa7 100644 --- a/gfe_integration_tests/test_rte/test_run_too_long.py +++ b/gfe_integration_tests/test_rte/test_run_too_long.py @@ -14,8 +14,8 @@ import os import pytest -from spinn_front_end_common.utilities.utility_objs import ExecutableType from spinnman.exceptions import SpinnmanTimeoutException +from spinnman.model.enums import ExecutableType import spinnaker_graph_front_end as s from gfe_integration_tests.test_rte.run_vertex import RunVertex diff --git a/spinnaker_graph_front_end/utilities/simulator_vertex.py b/spinnaker_graph_front_end/utilities/simulator_vertex.py index 1211a4de..92137038 100644 --- a/spinnaker_graph_front_end/utilities/simulator_vertex.py +++ b/spinnaker_graph_front_end/utilities/simulator_vertex.py @@ -15,10 +15,10 @@ import sys from spinn_utilities.overrides import overrides from spinn_utilities.log import FormatAdapter +from spinnman.model.enums import ExecutableType from pacman.model.graphs.machine import MachineVertex from spinn_front_end_common.abstract_models import AbstractHasAssociatedBinary from spinn_front_end_common.data import FecDataView -from spinn_front_end_common.utilities.utility_objs import ExecutableType from spinn_front_end_common.interface.buffer_management import ( recording_utilities) from spinnaker_graph_front_end.utilities.data_utils import ( From 8b50c9c25fdbfc637e978bf0c67e411ee4ccdfdf Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Fri, 21 Apr 2023 16:02:00 +0100 Subject: [PATCH 35/48] Improve github integration * Add explicit timeouts to github jobs * Add a dependabot config to keep action versions fresh --- .github/dependabot.yml | 24 ++++++++++++++++++++++++ .github/workflows/c_actions.yml | 1 + .github/workflows/python_actions.yml | 1 + 3 files changed, 26 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..77471a93 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,24 @@ +# Copyright (c) 2021 The University of Manchester +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + assignees: + - "dkfellows" + reviewers: + - "rowleya" diff --git a/.github/workflows/c_actions.yml b/.github/workflows/c_actions.yml index 11d87b99..de7a0001 100644 --- a/.github/workflows/c_actions.yml +++ b/.github/workflows/c_actions.yml @@ -17,6 +17,7 @@ on: [push] jobs: build: runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 37a977f9..88bdd7f5 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -20,6 +20,7 @@ on: [push] jobs: build: runs-on: ubuntu-latest + timeout-minutes: 10 strategy: matrix: python-version: [3.7, 3.8, 3.9, "3.10", "3.11"] From b15cba9adb22d4abcddaf01d16c1a0959a6e6a46 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Mon, 24 Apr 2023 09:49:50 +0100 Subject: [PATCH 36/48] only start date on copyright --- doc/source/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index 39e46d04..a0a9ed4d 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -93,7 +93,7 @@ # General information about the project. project = u'SpiNNakerGraphFrontEnd' -copyright = u'2014-2021' +copyright = u'2014' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -314,7 +314,7 @@ epub_title = u'SpiNNakerGraphFrontEnd' epub_author = u'' epub_publisher = u'' -epub_copyright = u'2014-2017' +epub_copyright = u'2014' # The basename for the epub file. It defaults to the project name. # epub_basename = u'data_allocation' From fefd28a4ba36cf02ce84bc8f6856bed41d727707 Mon Sep 17 00:00:00 2001 From: "Donal K. Fellows" Date: Wed, 26 Apr 2023 15:50:22 +0100 Subject: [PATCH 37/48] Clean up of splitter code See: * https://github.com/SpiNNakerManchester/PACMAN/pull/511 --- .../sdram_splitter_internal.py | 30 ++++++++----------- .../sdram_splitter.py | 30 ++++++++----------- .../test_multi_src_internal/sdram_splitter.py | 27 ++++++++--------- 3 files changed, 37 insertions(+), 50 deletions(-) diff --git a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py index 2895f730..a9482b88 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py +++ b/gfe_integration_tests/sdram_edge_tests/test_constant_internal/sdram_splitter_internal.py @@ -11,13 +11,11 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from spinn_utilities.overrides import overrides from pacman.model.graphs.common import Slice from pacman.model.graphs.machine import SDRAMMachineEdge -from pacman.model.partitioner_splitters.abstract_splitters import ( - AbstractSplitterCommon) +from pacman.model.partitioner_splitters import AbstractSplitterCommon from pacman.model.graphs.machine import ConstantSDRAMMachinePartition -from spinn_utilities.overrides import overrides -from spinn_front_end_common.data import FecDataView from gfe_integration_tests.sdram_edge_tests.common.\ sdram_machine_vertex import SDRAMMachineVertex @@ -54,22 +52,20 @@ def get_in_coming_vertices(self, partition_id): def create_machine_vertices(self, chip_counter): # slices - self._pre_slice = Slice(0, int(self._governed_app_vertex.n_atoms / 2)) + self._pre_slice = Slice(0, int(self.governed_app_vertex.n_atoms / 2)) self._post_slice = Slice( - int(self._governed_app_vertex.n_atoms / 2) + 1, - int(self._governed_app_vertex.n_atoms - 1)) + int(self.governed_app_vertex.n_atoms / 2) + 1, + int(self.governed_app_vertex.n_atoms - 1)) # mac verts - self._pre_vertex = ( - SDRAMMachineVertex( - vertex_slice=self._pre_slice, label=None, - app_vertex=self._governed_app_vertex, sdram_cost=20)) - self._governed_app_vertex.remember_machine_vertex(self._pre_vertex) - self._post_vertex = ( - SDRAMMachineVertex( - vertex_slice=self._post_slice, label=None, - app_vertex=self._governed_app_vertex)) - self._governed_app_vertex.remember_machine_vertex(self._post_vertex) + self._pre_vertex = SDRAMMachineVertex( + vertex_slice=self._pre_slice, label=None, + app_vertex=self.governed_app_vertex, sdram_cost=20) + self.governed_app_vertex.remember_machine_vertex(self._pre_vertex) + self._post_vertex = SDRAMMachineVertex( + vertex_slice=self._post_slice, label=None, + app_vertex=self.governed_app_vertex) + self.governed_app_vertex.remember_machine_vertex(self._post_vertex) self._sdram_part = ConstantSDRAMMachinePartition( identifier="sdram", pre_vertex=self._pre_vertex) diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py index b3bba88d..a1f7c1c6 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_dest_internal/sdram_splitter.py @@ -11,16 +11,12 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from gfe_integration_tests.sdram_edge_tests.common import ( - SDRAMMachineVertex) -from pacman.model.graphs.application import ApplicationEdge +from spinn_utilities.overrides import overrides from pacman.model.graphs.common import Slice from pacman.model.graphs.machine import ( SDRAMMachineEdge, DestinationSegmentedSDRAMMachinePartition) -from pacman.model.partitioner_splitters.abstract_splitters import ( - AbstractSplitterCommon) -from spinn_utilities.overrides import overrides -from spinn_front_end_common.data import FecDataView +from pacman.model.partitioner_splitters import AbstractSplitterCommon +from gfe_integration_tests.sdram_edge_tests.common import SDRAMMachineVertex class SDRAMSplitter(AbstractSplitterCommon): @@ -54,7 +50,7 @@ def get_in_coming_vertices(self, partition_id): def create_machine_vertices(self, chip_counter): # slices self._pre_slice = Slice( - 0, int(self._governed_app_vertex.n_atoms / self.N_VERTS)) + 0, int(self.governed_app_vertex.n_atoms / self.N_VERTS)) for count in range(1, self.N_VERTS): self._post_slices.append(Slice( @@ -62,19 +58,17 @@ def create_machine_vertices(self, chip_counter): self._pre_slice.n_atoms * count + self._pre_slice.n_atoms)) # mac verts - self._pre_vertex = ( - SDRAMMachineVertex( - vertex_slice=self._pre_slice, label=None, - app_vertex=self._governed_app_vertex, sdram_cost=20)) - self._governed_app_vertex.remember_machine_vertex(self._pre_vertex) + self._pre_vertex = SDRAMMachineVertex( + vertex_slice=self._pre_slice, label=None, + app_vertex=self.governed_app_vertex, sdram_cost=20) + self.governed_app_vertex.remember_machine_vertex(self._pre_vertex) for vertex_slice in self._post_slices: - post_vertex = ( - SDRAMMachineVertex( - vertex_slice=vertex_slice, label=None, - app_vertex=self._governed_app_vertex)) + post_vertex = SDRAMMachineVertex( + vertex_slice=vertex_slice, label=None, + app_vertex=self.governed_app_vertex) self._post_vertices.append(post_vertex) - self._governed_app_vertex.remember_machine_vertex(post_vertex) + self.governed_app_vertex.remember_machine_vertex(post_vertex) self._partition = DestinationSegmentedSDRAMMachinePartition( identifier="sdram", pre_vertex=self._pre_vertex) diff --git a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py index 92cd1657..8bbffb2b 100644 --- a/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py +++ b/gfe_integration_tests/sdram_edge_tests/test_multi_src_internal/sdram_splitter.py @@ -11,13 +11,12 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from gfe_integration_tests.sdram_edge_tests.common import SDRAMMachineVertex +from spinn_utilities.overrides import overrides from pacman.model.graphs.common import Slice from pacman.model.graphs.machine import SDRAMMachineEdge -from pacman.model.partitioner_splitters.abstract_splitters import ( - AbstractSplitterCommon) -from spinn_utilities.overrides import overrides +from pacman.model.partitioner_splitters import AbstractSplitterCommon from pacman.model.graphs.machine import SourceSegmentedSDRAMMachinePartition +from gfe_integration_tests.sdram_edge_tests.common import SDRAMMachineVertex class SDRAMSplitter(AbstractSplitterCommon): @@ -51,7 +50,7 @@ def get_in_coming_vertices(self, partition_id): def create_machine_vertices(self, chip_counter): # slices self._post_slice = Slice( - 0, int(self._governed_app_vertex.n_atoms / self.N_VERTS)) + 0, int(self.governed_app_vertex.n_atoms / self.N_VERTS)) for count in range(1, self.N_VERTS): self._pre_slices.append(Slice( @@ -59,18 +58,16 @@ def create_machine_vertices(self, chip_counter): self._post_slice.n_atoms * count + self._post_slice.n_atoms)) # mac verts - self._post_vertex = ( - SDRAMMachineVertex( - vertex_slice=self._post_slice, label=None, - app_vertex=self._governed_app_vertex)) - self._governed_app_vertex.remember_machine_vertex(self._post_vertex) + self._post_vertex = SDRAMMachineVertex( + vertex_slice=self._post_slice, label=None, + app_vertex=self.governed_app_vertex) + self.governed_app_vertex.remember_machine_vertex(self._post_vertex) for vertex_slice in self._pre_slices: - pre_vertex = ( - SDRAMMachineVertex( - vertex_slice=vertex_slice, label=None, - app_vertex=self._governed_app_vertex, sdram_cost=20)) - self._governed_app_vertex.remember_machine_vertex(pre_vertex) + pre_vertex = SDRAMMachineVertex( + vertex_slice=vertex_slice, label=None, + app_vertex=self.governed_app_vertex, sdram_cost=20) + self.governed_app_vertex.remember_machine_vertex(pre_vertex) self._pre_vertices.append(pre_vertex) self._partition = SourceSegmentedSDRAMMachinePartition( From 6c439111b5fabd4ede0a4dbd0361edc9ef69972c Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Thu, 25 May 2023 11:18:57 +0100 Subject: [PATCH 38/48] remove 3.7 testing --- .github/workflows/python_actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 88bdd7f5..0e12c799 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -23,7 +23,7 @@ jobs: timeout-minutes: 10 strategy: matrix: - python-version: [3.7, 3.8, 3.9, "3.10", "3.11"] + python-version: [3.8, 3.9, "3.10", "3.11"] env: BASE_PKG: spinnaker_graph_front_end From 5f06c93caa67351dcde1d2973d5647aa50535b14 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 20 Jun 2023 14:00:53 +0100 Subject: [PATCH 39/48] remove links to DataSpecifation reporitory --- .github/workflows/python_actions.yml | 4 ++-- .ratexcludes | 1 - doc/doc_requirements.txt | 1 - pypi_to_import | 1 - 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index 0e12c799..e4bd98ee 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -46,7 +46,7 @@ jobs: uses: ./support/actions/install-spinn-deps with: repositories: > - SpiNNUtils SpiNNMachine SpiNNMan PACMAN DataSpecification spalloc + SpiNNUtils SpiNNMachine SpiNNMan PACMAN spalloc SpiNNFrontEndCommon TestBase install: true - name: Install matplotlib @@ -100,7 +100,7 @@ jobs: uses: ./support/actions/install-spinn-deps with: repositories: > - SpiNNUtils SpiNNMachine SpiNNMan PACMAN DataSpecification spalloc + SpiNNUtils SpiNNMachine SpiNNMan PACMAN spalloc SpiNNFrontEndCommon TestBase install: true - name: Install matplotlib diff --git a/.ratexcludes b/.ratexcludes index 43c9bf55..4c20690a 100644 --- a/.ratexcludes +++ b/.ratexcludes @@ -4,7 +4,6 @@ **/SpiNNMachine/** **/SpiNNMan/** **/PACMAN/** -**/DataSpecification/** **/spalloc/** **/SpiNNFrontEndCommon/** **/modified_src/** diff --git a/doc/doc_requirements.txt b/doc/doc_requirements.txt index 60f1c4d3..b6274ebe 100644 --- a/doc/doc_requirements.txt +++ b/doc/doc_requirements.txt @@ -16,6 +16,5 @@ -e git+https://github.com/SpiNNakerManchester/SpiNNMachine.git@master#egg=SpiNNMachine -e git+https://github.com/SpiNNakerManchester/SpiNNMan.git@master#egg=spinnman -e git+https://github.com/SpiNNakerManchester/PACMAN.git@master#egg=spinnaker-pacman --e git+https://github.com/SpiNNakerManchester/DataSpecification.git@master#egg=spinnaker-dataspecification -e git+https://github.com/SpiNNakerManchester/spalloc.git@master#egg=spalloc -e git+https://github.com/SpiNNakerManchester/SpiNNFrontEndCommon.git@master#egg=spinnfrontendcommon diff --git a/pypi_to_import b/pypi_to_import index c859ad4b..e29e0dc8 100644 --- a/pypi_to_import +++ b/pypi_to_import @@ -2,5 +2,4 @@ SpiNNUtilities:spinn_utilities SpiNNMachine:spinn_machine SpiNNMan:spinnman SpiNNaker_PACMAN:pacman -SpiNNaker_DataSpecification:data_specification SpiNNFrontEndCommon:spinn_front_end_common \ No newline at end of file From 1fb45d7a1da2b659e1451059e0073d68b1e27feb Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 20 Jun 2023 14:47:22 +0100 Subject: [PATCH 40/48] remove ds test --- unittests/test_version.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/unittests/test_version.py b/unittests/test_version.py index 7c1ec2b6..b65eab67 100644 --- a/unittests/test_version.py +++ b/unittests/test_version.py @@ -15,7 +15,6 @@ import unittest import spinn_utilities import spinn_machine -import data_specification import pacman import spinnman import spinn_front_end_common @@ -32,7 +31,6 @@ class Test(unittest.TestCase): def test_compare_versions(self): spinn_utilities_parts = spinn_utilities.__version__.split('.') spinn_machine_parts = spinn_machine.__version__.split('.') - data_specification_parts = data_specification.__version__.split('.') pacman_parts = pacman.__version__.split('.') spinnman_parts = spinnman.__version__.split('.') spinn_front_end_common_parts = spinn_front_end_common.\ @@ -50,11 +48,6 @@ def test_compare_versions(self): self.assertLessEqual(spinn_machine_parts[1], spinnaker_graph_front_end_parts[1]) - self.assertEqual(data_specification_parts[0], - spinnaker_graph_front_end_parts[0]) - self.assertLessEqual(data_specification_parts[1], - spinnaker_graph_front_end_parts[1]) - self.assertEqual(pacman_parts[0], spinnaker_graph_front_end_parts[0]) self.assertLessEqual(pacman_parts[1], From 2d04aa2c65fa18a10e8025d274181efc0434b6d1 Mon Sep 17 00:00:00 2001 From: Andrew Rowley Date: Wed, 12 Jul 2023 07:37:51 +0100 Subject: [PATCH 41/48] Remove incorrect author! --- gfe_examples/live_io/__init__.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/gfe_examples/live_io/__init__.py b/gfe_examples/live_io/__init__.py index ee57709e..91eaa0c5 100644 --- a/gfe_examples/live_io/__init__.py +++ b/gfe_examples/live_io/__init__.py @@ -11,5 +11,3 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - -__author__ = 'Arthur Ceccotti' From 8b488561b0ab2c494b28f072249b6c577ea1d76f Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 18 Jul 2023 07:12:53 +0100 Subject: [PATCH 42/48] remove dataspecification link --- doc/source/conf.py | 3 --- doc/source/index.rst | 1 - 2 files changed, 4 deletions(-) diff --git a/doc/source/conf.py b/doc/source/conf.py index a0a9ed4d..fefea8b2 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -71,9 +71,6 @@ f'https://spinnman.readthedocs.io/en/{spinnaker_doc_version}/', None), 'pacman': ( f'https://pacman.readthedocs.io/en/{spinnaker_doc_version}/', None), - 'data_specification': ( - 'https://dataspecification.readthedocs.io/en/' - f'{spinnaker_doc_version}/', None), 'spinn_front_end_common': ( 'https://spinnfrontendcommon.readthedocs.io/en/' f'{spinnaker_doc_version}/', None) diff --git a/doc/source/index.rst b/doc/source/index.rst index b16236be..85f3e125 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -10,7 +10,6 @@ This code depends on SpiNNUtils_, SpiNNMachine_, SpiNNMan_, PACMAN_, DataSpecifi .. _SpiNNMachine: https://spinnmachine.readthedocs.io .. _SpiNNMan: https://spinnman.readthedocs.io .. _PACMAN: https://pacman.readthedocs.io -.. _DataSpecification: https://dataspecification.readthedocs.io .. _SpiNNFrontEndCommon: https://spinnfrontendcommon.readthedocs.io .. _Combined_documentation: https://spinnakermanchester.readthedocs.io From 1f050d75ab690d19c9e4e7c02b56dd2f8a5b81fc Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Tue, 18 Jul 2023 07:43:54 +0100 Subject: [PATCH 43/48] remove DataSpecification --- doc/source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/index.rst b/doc/source/index.rst index 85f3e125..bfe081de 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1,7 +1,7 @@ These pages document the python code for the SpiNNakerGraphFrontEnd_ module which is part of the SpiNNaker_ Project. -This code depends on SpiNNUtils_, SpiNNMachine_, SpiNNMan_, PACMAN_, DataSpecification_, SpiNNFrontEndCommon_ +This code depends on SpiNNUtils_, SpiNNMachine_, SpiNNMan_, PACMAN_, SpiNNFrontEndCommon_ (Combined_documentation_). .. _SpiNNaker: https://apt.cs.manchester.ac.uk/projects/SpiNNaker From d8d1396c7217604d710c286fb30743a7cf404274 Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Thu, 20 Jul 2023 13:37:03 +0100 Subject: [PATCH 44/48] info for release 7.1.0 --- setup.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index 47426761..b718838d 100644 --- a/setup.cfg +++ b/setup.cfg @@ -44,7 +44,7 @@ packages = find: zip_safe = True include_package_data = True install_requires = - SpiNNFrontEndCommon == 1!6.0.1 + SpiNNFrontEndCommon == 1!7.1.0 [options.package_data] * = @@ -52,7 +52,7 @@ install_requires = [options.extras_require] test = - SpiNNakerTestBase == 1!6.0.1 + SpiNNakerTestBase == 1!7.1.0 # pytest will be brought in by pytest-cov pytest-cov testfixtures From ff52ae201c54784730af2fed59a6e84016d3927f Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Thu, 20 Jul 2023 13:37:04 +0100 Subject: [PATCH 45/48] info for release 7.1.0 --- spinnaker_graph_front_end/_version.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spinnaker_graph_front_end/_version.py b/spinnaker_graph_front_end/_version.py index 52638cbf..8f3f316a 100644 --- a/spinnaker_graph_front_end/_version.py +++ b/spinnaker_graph_front_end/_version.py @@ -12,8 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "1!6.0.1" -__version_month__ = "May" -__version_year__ = "2021" +__version__ = "1!7.1.0" +__version_month__ = "TBD" +__version_year__ = "TBD" __version_day__ = "TBD" __version_name__ = "Not yet released" From 6809e7ea7fa6e5ede6d25de185fccadad7843eba Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Fri, 25 Aug 2023 08:41:30 +0100 Subject: [PATCH 46/48] config methods which do and do not return none --- spinnaker_graph_front_end/spinnaker.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/spinnaker_graph_front_end/spinnaker.py b/spinnaker_graph_front_end/spinnaker.py index 160a8e10..a93f1ba5 100644 --- a/spinnaker_graph_front_end/spinnaker.py +++ b/spinnaker_graph_front_end/spinnaker.py @@ -13,7 +13,7 @@ # limitations under the License. import logging -from spinn_utilities.config_holder import get_config_str +from spinn_utilities.config_holder import is_config_none from spinn_utilities.log import FormatAdapter from spinn_front_end_common.data import FecDataView from spinn_front_end_common.interface.abstract_spinnaker_base import ( @@ -26,8 +26,10 @@ def _is_allocated_machine(): - return (get_config_str("Machine", "spalloc_server") or - get_config_str("Machine", "remote_spinnaker_url")) + if is_config_none("Machine", "spalloc_server"): + return not is_config_none(("Machine", "remote_spinnaker_url")) + else: + return True class SpiNNaker(AbstractSpinnakerBase): From 485ae67391dfa381acb39dad329ea92f0e230cad Mon Sep 17 00:00:00 2001 From: "Christian Y. Brenninkmeijer" Date: Fri, 25 Aug 2023 12:15:52 +0100 Subject: [PATCH 47/48] remove double bracket --- spinnaker_graph_front_end/spinnaker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spinnaker_graph_front_end/spinnaker.py b/spinnaker_graph_front_end/spinnaker.py index a93f1ba5..d7e3566f 100644 --- a/spinnaker_graph_front_end/spinnaker.py +++ b/spinnaker_graph_front_end/spinnaker.py @@ -27,7 +27,7 @@ def _is_allocated_machine(): if is_config_none("Machine", "spalloc_server"): - return not is_config_none(("Machine", "remote_spinnaker_url")) + return not is_config_none("Machine", "remote_spinnaker_url") else: return True From 178e6159fe64aea3967e9c7415992184581bb127 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 18:09:26 +0000 Subject: [PATCH 48/48] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/c_actions.yml | 4 ++-- .github/workflows/python_actions.yml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/c_actions.yml b/.github/workflows/c_actions.yml index de7a0001..e372fdbd 100644 --- a/.github/workflows/c_actions.yml +++ b/.github/workflows/c_actions.yml @@ -20,9 +20,9 @@ jobs: timeout-minutes: 15 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout SupportScripts - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: SpiNNakerManchester/SupportScripts path: support diff --git a/.github/workflows/python_actions.yml b/.github/workflows/python_actions.yml index e4bd98ee..3e46f91d 100644 --- a/.github/workflows/python_actions.yml +++ b/.github/workflows/python_actions.yml @@ -29,9 +29,9 @@ jobs: BASE_PKG: spinnaker_graph_front_end steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout SupportScripts - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: SpiNNakerManchester/SupportScripts path: support @@ -83,9 +83,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Checkout SupportScripts - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: SpiNNakerManchester/SupportScripts path: support