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

Add Float Support for All Platform & Float GEMM on Generic #25

Merged
merged 2 commits into from
Jan 16, 2025

Conversation

runwangdl
Copy link
Contributor

This PR provides a minimum viable implementation of float ConstantBuffer and float GEMM, addressing compatibility issues when operators with weights and biases are converted to float. It establishes the foundation for supporting float operators on Snitch and PULP platforms.

Added

  • Float Support for Constbuffer Base Class
  • Float GEMM Test
  • Float GEMM Template for Generic Target
  • Float GEMM to CI

Changed

  • GEMM bindings of Generic Target for Float
  • main.c for float input and output of Generic Target

Fixed

  • Float Constbuffer bugs for TestSice, CMSIS TestUtil, IntergerDiv
  • FloatImmediate for np.nparray input

Future Work

  • Add new codetransformationpass for #define OUTPUTTYPE
  • Optimize Generic GEMM

PR Merge Checklist

  1. The PR is rebased on the latest devel commit and pointing to devel.
  2. Your PR reviewed and approved.
  3. All checks are passing.
  4. The CHANGELOG.md file has been updated.

@runwangdl
Copy link
Contributor Author

Hello everyone, the submission of this pr is mainly to help Taha and I develop all the operators of floating point on pulp and snitch.

Copy link
Member

@Victor-Jung Victor-Jung left a comment

Choose a reason for hiding this comment

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

Hi Run,
Great job! I only have one minor comment otherwise it looks good to me. I expect to see another PR porting these changes to PULPOpen soon and @tahaelbayad to do the same for Snitch :)

Deeploy/DeeployTypes.py Outdated Show resolved Hide resolved
DeeployTest/Platforms/Generic/main.c Outdated Show resolved Hide resolved
1. Float Support for Constbuffer
2. Float GEMM on Generic
3. Added FP GEMM to CI
4. Fixed Float bug on Testslice, CMSIS TestUtil, DivInterger
5. Fixed AbstractDatayType Float Bugs
@Victor-Jung Victor-Jung merged commit bb7e56d into pulp-platform:devel Jan 16, 2025
@runwangdl runwangdl deleted the FPsupport branch January 16, 2025 15:34
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