[bebop/rushb] Fix bugs in rushB mode to run E2E models - #95
Conversation
7376b28 to
53f8498
Compare
|
|
||
| from compiler.scripts.pb_to_target_registry import _rushb_targets | ||
|
|
||
|
|
There was a problem hiding this comment.
This test is superfluous; there is no testing framework, and no one will maintain it in the future.
| #define BUCKYBALL_RUSHB_ACCELERATOR_ID 0 | ||
| #endif | ||
|
|
||
| #ifndef BUCKYBALL_RUSHB_CHIP_ID |
There was a problem hiding this comment.
Variables are prone to conflicts, so why not pass parameters to each function?
|
|
||
| function(add_buckyball_rushb_native TARGET_NAME) | ||
| cmake_parse_arguments(ARG "CXX" "OUTPUT_SUBDIR" "SOURCES;INCLUDE_DIRS;DEPENDS" ${ARGN}) | ||
| cmake_parse_arguments(ARG "CXX" "OUTPUT_SUBDIR;ACCELERATOR_ID;CHIP_ID" "SOURCES;INCLUDE_DIRS;DEPENDS" ${ARGN}) |
There was a problem hiding this comment.
what means ACCELERATOR_ID and CHIP_ID, what's the difference?
There was a problem hiding this comment.
ACCELERATOR_ID identifies a RushB command endpoint and is encoded as (tile_id << 16) | local_accelerator_id. CHIP_ID identifies the top-level Chip/BBSimDRAM instance used for host staging DMA.
Verilator Harness
└── Chip/SoC ← CHIP_ID
├── Tile 0
│ ├── Accelerator 0 ← ACCELERATOR_ID
│ └── Accelerator 1
└── Tile 1
└── Accelerator 0
There was a problem hiding this comment.
CHIP_ID means toy=0/pebble=1/poly=2/goban=3? Have I got that right?
There was a problem hiding this comment.
CHIP_ID identifies a chip instance in a multi-chip simulation. In a normal single-chip simulation, CHIP_ID is typically 0 regardless of the design. Multiple cores within one chip are distinguished separately.
There was a problem hiding this comment.
Haha, I think it's too early for buckyball to consider a multichip system. I reckon it will still take us a year to build a multi-core system that makes sense. So, I suggest removing them now~
|
We use the commit message format from the LLVM community. |
d898b4a to
aeb10e4
Compare
Summary
--rushBis passedCommit structure
fix(bemu): initialize per-worker topology for rushBfix(rushb): derive ABI accelerator IDs from Chip.pbtest(rushb): restore toy CI and add multi-tile routing coverageDependency PRs
The submodule commits must be merged before updating the final gitlinks on the target branch.
Validation
python3 -m unittest compiler.scripts.tests.test_pb_to_target_registry: PASSnix develop -c cargo test -p bebop-rushb: 2 passed