Skip to content

Conversation

@deyuan
Copy link
Collaborator

@deyuan deyuan commented Apr 9, 2025

This is a very preliminary solution to support PIM API fusion with correct functional simulation results.

Usage example (see test-api-fusion):
PimProg prog;
prog.add(pimMulScalar, objSrc1, objDest1, static_cast<uint64_t>(scalarVal));
prog.add(pimAdd, objDest1, objSrc2, objDest1);
status = pimFuse(prog);

It requires further work to recognize fusion opportunities among APIs and parameters and update performance accordingly in pimCmd. @fasiddique @Morteza1814 @khyatikiyawat Please feel free to comment or propose any alternative solutions.

@fasiddique
Copy link
Collaborator

Thank you so much @deyuan!

@deyuan deyuan changed the title [tmp] PIM API fusion support PIM API fusion initial support Apr 10, 2025
Copy link
Collaborator

Choose a reason for hiding this comment

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

Another test case should be overwriting the PIMobject data and pushing it to pim prog and pim prog should not fuse those. Just a sanity check! :)

@deyuan deyuan changed the title PIM API fusion initial support [Do-not-merge] PIM API fusion initial support Apr 18, 2025
Copy link
Collaborator

@fasiddique fasiddique left a comment

Choose a reason for hiding this comment

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

@deyuan I am fine with merging this to the main branch considering this does not interfere with the existing model. Thank you again!

@fasiddique
Copy link
Collaborator

Merging this to main.

@fasiddique fasiddique merged commit 8416019 into main May 4, 2025
@fasiddique fasiddique deleted the dev-fused branch May 4, 2025 23:44
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