-
Notifications
You must be signed in to change notification settings - Fork 81
Description
The support for multiple transfers in HyperBus, introduced here 77e3edf, breaks several Deeploy non-regressions.
For example:
https://github.com/FrancescoConti/Deeploy/actions/runs/15313091294/job/43092338142
runs in a non-predictable way, sometimes succeeding, sometimes having numerical issues.
Depending on the specific environment and run conditions, the
python testRunner_tiled_siracusa.py -t Tests/microLlama/microLlama8_parallel --cores=8 --l1 10000 --defaultMemLevel=L3 --doublebuffer --memAllocStrategy=MiniMalloc --searchStrategy=random-max
results in subtly different networks (all equivalent) with randomly assigned buffer locations in memory, e.g.,
< int8_t *DeeployNetwork_TILING_REPLACED__MERGE_ADDRQ_PASS_0_L1_ref_data_in_1 = (int8_t *)((char *)DeeployNetwork_MEMORYARENA_L1 + 0);
< int8_t *DeeployNetwork_TILING_REPLACED__MERGE_ADDRQ_PASS_0_L1_ref_data_in_2 = (int8_t *)((char *)DeeployNetwork_MEMORYARENA_L1 + 1024);
---
> int8_t *DeeployNetwork_TILING_REPLACED__MERGE_ADDRQ_PASS_0_L1_ref_data_in_1 = (int8_t *)((char *)DeeployNetwork_MEMORYARENA_L1 + 1024);
> int8_t *DeeployNetwork_TILING_REPLACED__MERGE_ADDRQ_PASS_0_L1_ref_data_in_2 = (int8_t *)((char *)DeeployNetwork_MEMORYARENA_L1 + 0);
38326,38327c38326,38327
[...many others...]
Some of these solutions work even with the support for multi-hyper transfers activated; others do not.
It is not currently clear whether this is a pulp-sdk or Deeploy issues, but for now I am reverting the commit, and adding a PR (#151) to re-add it -- conditioned on understanding this point.