Skip to content

[ExecuTorch] Implement BFloat16 and hook it up to scalar_type_util #4975

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

Merged
merged 10 commits into from
Sep 5, 2024

Conversation

swolchok
Copy link
Contributor

@swolchok swolchok commented Aug 29, 2024

Stack from ghstack (oldest at bottom):

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: D61981361

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
Copy link

pytorch-bot bot commented Aug 29, 2024

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/4975

Note: Links to docs will display an error until the docs builds have been completed.

✅ No Failures

As of commit 7c2314d with merge base 0c78a9d (image):
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 29, 2024
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D61981361

…ype_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D61981361

@swolchok swolchok changed the base branch from gh/swolchok/20/base to main August 30, 2024 18:31
…t up to scalar_type_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
…ype_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D61981361

…t up to scalar_type_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
…ype_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D61981361

…t up to scalar_type_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
…ype_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D61981361

…t up to scalar_type_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
…ype_util"

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)

[ghstack-poisoned]
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D61981361

@facebook-github-bot facebook-github-bot merged commit b8a1899 into main Sep 5, 2024
36 of 38 checks passed
@facebook-github-bot facebook-github-bot deleted the gh/swolchok/20/head branch September 5, 2024 21:44
kedarnath03 pushed a commit to kedarnath03/executorch that referenced this pull request Jun 25, 2025
Pull Request resolved: pytorch/executorch#4975

bfloat16.h was a stub. I've filled it out by porting the c10
implementation, added it to ET_SWITCH and ET_FORALL macros, and hooked
it up to promoteTypes. I extended the half_to_float argument to
promoteTypes to also coerce bfloat16 to float because I figured
anybody who wants to ignore half probably also wants to ignore bf16.
ghstack-source-id: 241050114
@exported-using-ghexport

Differential Revision: [D61981361](https://our.internmc.facebook.com/intern/diff/D61981361/)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants