Skip to content

Conversation

@L-roro
Copy link
Collaborator

@L-roro L-roro commented Jul 30, 2025

This file was apparently forgotten in #2248.

Copy link
Collaborator

@jgmelber jgmelber left a comment

Choose a reason for hiding this comment

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

A couple questions but otherwise LGTM

@L-roro
Copy link
Collaborator Author

L-roro commented Jul 31, 2025

Clang's pragmas are supposed to be before the loop, the same way it is done in the outer loop [see here]. The chess compiler user manual that explains chess' pragmas is not public and I do not have access to it (link), so I can only imitate what is being done in other examples (such as the previously mentioned pr #2248) or in the public AIE API user guide (here). In those examples, chess' pragmas are between the loop header and body. So I assumed that was the expected behavior.

In any case, do note that:
-When using peano, the AIE_LOOP_FLATTEN and AIE_PREPARE_FOR_PIPELINING macros are simply being ignored in our repo (look here).
-When using chess, this is just identical to the AIE API example. Putting the pragma before in the first loop actually differs from that, but I cannot check for correctness of this in the guide without having access.

Additionally it looks like adding the clang prepare for pipelining pragma (when using Peano then) breaks other flags, in particular the emulate_bfloat16_mmul_with_bfp16 one and outputs garbage. This might be an error from peano since chess does work with the equivalent flags and pragmas.

TLDR:
-I thought this would be trivial, but I need to ask someone about it, changing the pr back to draft.
-Might need to open a peano issue
-No public information about chess' pragmas makes it impossible for me to answer your question confidently

@L-roro L-roro marked this pull request as draft July 31, 2025 09:28
@jgmelber
Copy link
Collaborator

@jackl-xilinx can you help?

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.

2 participants