SpiNNakerManchester / PACMAN

Partition and Configuration Manager for SpiNNaker
Apache License 2.0
9 stars 7 forks source link

place_application_graph vs FixedLocation #444

Open Christian-B opened 2 years ago

Christian-B commented 2 years ago

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)

Christian-B commented 2 years ago

Will require either a sort of the vertices to process or a two pass approach

Christian-B commented 2 years ago

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

Christian-B commented 2 years ago

The coverage branch unittests/operations_tests/placer_algorithms_tests/test_application_placer.py Has a Test that raise SkipTest due to this.

Christian-B commented 8 months ago

APPEARS TESTED AND WORKING https://github.com/SpiNNakerManchester/PACMAN/blob/ecade5632b687f1f3a94a122a31118fe32a4f2e6/unittests/operations_tests/placer_algorithms_tests/test_application_placer.py#L113

Christian-B commented 8 months ago

https://github.com/SpiNNakerManchester/PACMAN/blob/f689c54ebcea739a6dd5e847109687c7fa84a149/unittests/operations_tests/placer_algorithms_tests/test_application_placer.py#L113

test still skips