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

Fully open-source AIE flow #1900

Merged
merged 8 commits into from
Nov 1, 2024
Merged

Fully open-source AIE flow #1900

merged 8 commits into from
Nov 1, 2024

Conversation

jgmelber
Copy link
Collaborator

@jgmelber jgmelber commented Nov 1, 2024

Use open source aie_api
No longer rely on Vitis for any components to compile for AIE

Add aie_api as a submodule
Install aie_api with build
Use aie_api from install for Peano programming examples and programming guide

Copy link
Contributor

github-actions bot commented Nov 1, 2024

Coverage Report

Created: 2024-11-01 20:39

Click here for information about interpreting this report.

FilenameFunction CoverageLine CoverageRegion CoverageBranch Coverage
Totals- - - -
Generated by llvm-cov -- llvm version 14.0.0

Copy link
Member

@keryell keryell left a comment

Choose a reason for hiding this comment

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

Could you improve the PR description (which will end up as the eventual commit message for the eternity) about why we need this new API?

programming_examples/makefile-common Outdated Show resolved Hide resolved
message("Installing aie_api includes from ${SRCPATH} in ${BUILDPATH}")

# copy header files into build area
install(DIRECTORY ${SRCPATH}/ DESTINATION ${BUILDPATH}/aie_api)
Copy link
Member

Choose a reason for hiding this comment

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

I am curious about all these trailing / in the project.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Copy the entire contents of the directory in cmake

Copy link
Member

Choose a reason for hiding this comment

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

Interesting. You mean that without a / it would only create an empty directory?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

A trailing slash will leave the last component empty and install the contents of the input directory to the destination. 

https://cmake.org/cmake/help/book/mastering-cmake/chapter/Install.html

Copy link
Member

Choose a reason for hiding this comment

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

Interesting. With CMake I learn all my life long!
Actually this is the equivalent of using /. in as with normal Unix copy-related commands.

@jgmelber jgmelber changed the title Use open-source aie_api Fully open-source AIE flow Nov 1, 2024
@jgmelber
Copy link
Collaborator Author

jgmelber commented Nov 1, 2024

Could you improve the PR description (which will end up as the eventual commit message for the eternity) about why we need this new API?

Changed the description and added a couple lines. We use this API in the single core code. It was previously distributed with Vitis. Now that this is open sourced and we can use Peano. We no longer have to depend on Vitis.

@@ -11,3 +11,6 @@
[submodule "third_party/bootgen"]
path = third_party/bootgen
url = https://github.com/Xilinx/bootgen.git
[submodule "third_party/aie_api"]
path = third_party/aie_api
url = https://github.com/jgmelber/aie_api
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is the best URL?

Copy link
Collaborator Author

@jgmelber jgmelber Nov 1, 2024

Choose a reason for hiding this comment

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

For now, I have a fork that comments out an include to adf.h. A follow on will remove any defines to __AIENGINE__, that will gate the include. We use the deprecated convention that flag defines something about the version of the AIE version and redundantly define the correct __AIEARCH__.

@jgmelber jgmelber added this pull request to the merge queue Nov 1, 2024
Merged via the queue into main with commit d0d2277 Nov 1, 2024
52 checks passed
@jgmelber jgmelber deleted the aieapi branch November 1, 2024 23:43
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.

4 participants