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

[P1] CGRA controller #31

Open
tancheng opened this issue Nov 30, 2024 · 2 comments · Fixed by #36 or #40
Open

[P1] CGRA controller #31

tancheng opened this issue Nov 30, 2024 · 2 comments · Fixed by #36 or #40
Assignees
Labels
new feature New feature or request

Comments

@tancheng
Copy link
Owner

A CGRA controller is needed:

  • To deliver control signals to each tile. Currently, each tile has control memory port exposed, which need to be connected to a controller, maybe via a NoC: [P1] Integrate NoC to scale it up/out #29.
  • In addition, the termination signal (might be generated by a branch(false) instruction/option or a return operation) needs to be recognized by the controller.
  • The controller itself could either be centralized or distributed.
  • The NoC connecting the controller could be as simple as a ring for now.
    • The NoC can be used to deliver both the control signals and the termination signals (differentiated based on message type).
    • The NoC can be other topologies as well, which is orthogonal to the CGRA design/execution mode/datapath.
  • The controller should be able to invoke the CGRA execution once the data is preloaded (or invoke the CGRA without waiting for data for data-driven execution), which can unblock [P2] Installation and Data Preloading Issue #11.
  • The controller plays a significant role when there is runtime-related features/functionalities, i.e., dynamic task scheduler, dynamic mapping change, DVFS, dynamic change between blocking/non-blocking data-driven/cycle-based execution ([P1] Data arrival-dependent execution and cycle-based execution #26), etc.

Blocked by:

@tancheng tancheng added the new feature New feature or request label Nov 30, 2024
@yyan7223
Copy link
Collaborator

yyan7223 commented Dec 2, 2024

I get it, let me think about the architecture of controller and NoC.

@tancheng
Copy link
Owner Author

tancheng commented Dec 2, 2024

I think a controller is also important/necessary for your PIM and custom kernel IP integration.

@tancheng tancheng linked a pull request Dec 6, 2024 that will close this issue
1 task
@tancheng tancheng linked a pull request Dec 13, 2024 that will close this issue
5 tasks
@tancheng tancheng reopened this Dec 18, 2024
@tancheng tancheng changed the title CGRA controller [P1] CGRA controller Jan 3, 2025
@tancheng tancheng moved this from Todo to In Progress in Customizable and Programmable CGRA Jan 4, 2025
@tancheng tancheng moved this from Todo to In Progress in CGRA Refactor Cleanup and Documentation Jan 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

2 participants