Open Christian-B opened 2 years ago
Will require either a sort of the vertices to process or a two pass approach
One simplification would be to only allow users to add ChipAndCoreConstraint to the WHOLE Application vertex.
this includes machine_vertices such as GFE ones that that are the ONLy one of their Application_vertex
The coverage branch unittests/operations_tests/placer_algorithms_tests/test_application_placer.py Has a Test that raise SkipTest due to this.
The place_application_graph does a single pass through all vertices
Therefor if it hits a fixed_location these may already have been taken by another vertex/ same_chip_group
Discussing with @rowleya we decided to leave this until after https://github.com/SpiNNakerManchester/PACMAN/pull/436
To replicate edit/ clone test_application_placer in PACMAN/unittests/operations_tests/placer_algorithms_tests/test_application_placer.py
vertex = _make_vertices(app_graph, 10, 1, 1, f"appvertex{i}") if i ==55: for mv in vertex.machine_vertices: mv.add_constraint(ChipAndCoreConstraint(1, 1)