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

AI HW Acceleration #53

Merged
merged 26 commits into from
Nov 15, 2023
Merged

AI HW Acceleration #53

merged 26 commits into from
Nov 15, 2023

Conversation

jzhou1318
Copy link
Contributor

@jzhou1318 jzhou1318 commented Nov 8, 2023

Before submitting your Pull Request, please ensure that you have carefully reviewed and completed all items on this checklist.

  1. Content

    • The chapter content is complete and covers the topic in detail.
    • All technical terms are well-defined and explained.
    • Any code snippets or algorithms are well-documented and tested.
    • The chapter follows a logical flow and structure.
  2. References & Citations

    • All references are correctly listed at the end of the chapter.
    • In-text citations are used appropriately and match the references.
    • All figures, tables, and images have proper sources and are cited correctly.
  3. Quarto Website Rendering

    • The chapter has been locally built and tested using Quarto.
    • All images, figures, and tables render properly without any glitches.
    • All images have a source or they are properly linked to external sites.
    • Any interactive elements or widgets work as intended.
    • The chapter's formatting is consistent with the rest of the book.
  4. Grammar & Style

    • The chapter has been proofread for grammar and spelling errors.
    • The writing style is consistent with the rest of the book.
    • Any jargon is clearly explained or avoided where possible.
  5. Collaboration

    • All group members have reviewed and approved the chapter.
    • Any feedback from previous reviews or discussions has been addressed.
  6. Miscellaneous

    • All external links (if any) are working and lead to the intended destinations.
    • If datasets or external resources are used, they are properly credited and linked.
    • Any necessary permissions for reused content have been obtained.
  7. Final Steps

    • The chapter is pushed to the correct branch on the repository.
    • The Pull Request is made with a clear title and description.
    • The Pull Request includes any necessary labels or tags.
    • The Pull Request mentions any stakeholders or reviewers who should take a look.

@uchendui uchendui added the cs249r label Nov 8, 2023

In response, new manufacturing techniques like wafer-scale fabrication and advanced packaging now allow much higher levels of integration. The goal is to create unified, specialized AI compute complexes tailored for deep learning and other AI algorithms. Tighter integration is key to delivering the performance and efficiency needed for the next generation of AI.

#### Wafter-scale AI
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: Wafer-scale AI

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, fixed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!


- **Co-simulation:** Unified platforms like the SCALE-Sim [@samajdar2018scale] integrate hardware and software simulation into a single tool. This enables what-if analysis to quantify the system-level impacts of cross-layer optimizations early in the design cycle.

For example, an FPGA-based AI accelerator design could be simulated using Verilog hardware description language and synthesized into a Gem5 model. The accelerator could have ML workloads simulated using TVM compiled onto it within the Gem5 environment for unified modeling.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This example is a bit difficult to follow. It would be nice to have a step by step explanation of why an FPGA-based AI accelerator should be simulated using Verilog (what exactly about Verilog makes it well-suited for this type of accelerator?), as well as why it should be synthesized into a Gem5 model (what specifically about Gem5 makes it optimal for this task?)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this helpful @AditiR-42

For example, an FPGA-based AI accelerator design could be simulated using Verilog hardware description language and synthesized into a Gem5 model. Verilog is well-suited for describing the digital logic and interconnects that make up the accelerator architecture. Using Verilog allows the designer to specify the datapaths, control logic, on-chip memories, and other components that will be implemented in the FPGA fabric. Once the Verilog design is complete, it can be synthesized into a model that simulates the behavior of the hardware, such as using the Gem5 simulator. Gem5 is useful for this task because it allows modeling of full systems including processors, caches, buses, and custom accelerators. Gem5 supports interfacing Verilog models of hardware to the simulation, enabling unified system modeling.

The synthesized FPGA accelerator model could then have ML workloads simulated using TVM compiled onto it within the Gem5 environment for unified modeling. TVM allows optimized compilation of ML models onto heterogeneous hardware like FPGAs. Running TVM-compiled workloads on the accelerator within the Gem5 simulation provides an integrated way to validate and refine the hardware design, software stack, and system integration before ever needing to physically realize the accelerator on a real FPGA.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hope that works, updated it in the text.

@uchendui uchendui force-pushed the main branch 2 times, most recently from d230ebb to 9868ae3 Compare November 10, 2023 01:56
@arnaumarin
Copy link
Contributor

Looks good. Thanks for addressing the typo!

@gnodipac886
Copy link
Contributor

added more references to the sections that I was responsible for (challenges and solutions)

@profvjreddi
Copy link
Contributor

profvjreddi commented Nov 13, 2023 via email

@mpstewart1
Copy link
Contributor

Really great job on this chapter!

@mpstewart1 mpstewart1 merged commit 02dddc4 into harvard-edge:main Nov 15, 2023
1 check passed
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

Successfully merging this pull request may close these issues.

8 participants