Support implementation of architecture_spec config.#140
Conversation
tancheng
left a comment
There was a problem hiding this comment.
Thanks for the PR, a few questions and minor comments can be easily answered/fixed.
For coding style and comment:
- Plz change all the variables from camel case to snake_case
- Plz make all the comments end with period.
Above two can be easily handled by AI.
Working on it. Need a little bit of time. |
|
The extension and the connectivity are not implemented yet. |
Can you please elaborate on |
|
An extension is a potential future feature—for example, a crossbar switch. Connectivity describes the topology (mesh, ring, etc.). Our current default topology is mesh. |
|
By extension I mean a future optional slot (mainly for reservation). Crossbar is just one example: an auxiliary switch block placed adjacent to a tile. I felt that a crossbar is a local switching function that augments a topology but doesn’t change the global graph. So I guess it could be an extension. |
|
I can support the connectivity ASAP if we have an agreement on a list of pre-defined topologies. |
I thought we agreed on:
Basically, user only prune sth. Let's discuss this during our weekly meeting. |
|
Can you reply to my comments, so I am clear about what is fixed or not? I will click the "resolved" if I verify it is fixed. |
All comments should be replied now. |
|
Working on it. |
Thanks. Sorry about picky. |
Adding option -architecture-spec="include/ArchitectureSpec/architecture.yaml"
Architecture Dimensions: Configurable width and height
Tile Configuration: Default and override support for num_registers, ports, operations, memory.capacity
Link Configuration: Default and override support for latency, bandwidth, and existence
Operation Mapping: Complete mapping of all 36 operations from NeuraOps.td to CustomizableFunctionUnit
TODO:
-connectivity configure
-extensions
-tile_overrides.num_registers
-modify all tests