Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

PairOnChipRouterCompression creating merges that overlap #1180

Open
Christian-B opened this issue Apr 25, 2024 · 1 comment
Open

PairOnChipRouterCompression creating merges that overlap #1180

Christian-B opened this issue Apr 25, 2024 · 1 comment
Assignees

Comments

@Christian-B
Copy link
Member

Detected when running TSPonSpiNNaker/examples/tsp.ipynb with cfg router_table_compress_as_far_as_possible = True

Method find_merge

static inline bool find_merge(int left, int index) {

Should before doing a merge check that it does not overlap later routes.
This was failing because route_cache[cache] held the wrong data.

The optimised way

static inline bool find_merge(int left, int index) {

Does work.

@Christian-B
Copy link
Member Author

Farther checking reveals that the Routing tabke entires returned by
pairminimize.h transfer_next method are wrong

This was fancy stuff for when we had very large routing tables that where stored in ssram and could only be transfered in blocks.

There are tow options.

1.Strip out the broken code as there is now only one routing table implementation rt_simple.h
find_merge_optimised
transfer_next
routing_table_get_entries
routing_table_wait_for_last_transfer
dma_done()/ dma_done(void)
(and more)?

  1. just comment the ocde as broken and leave it

  2. Try to fix the code

Options 2 and 3 only make sense if we plan on reintroducing routing tables that need to be transferred in blocks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants