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

Implement generate_vbe_metadata cpu #3715

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

spcyppt
Copy link
Contributor

@spcyppt spcyppt commented Feb 19, 2025

Summary:
X-link: https://github.com/facebookresearch/FBGEMM/pull/796

This diff implements generate_vbe_metadata for cpu, such that the function returns the same output for CPU, CUDA and MTIA.

To support VBE on CPU with existing fixed-batch-size CPU kernel, we need to recompute offsets, which is previously done in python. This diff implements offsets recomputation in C++ such that all manipulations are done in C++.

Note that reshaping offsets and grad_input to work with existing fixed-batch-size CPU kernels are done in Autograd instead of wrapper to avoid multiple computations.

VBE CPU tests are in the next diff.

Reviewed By: sryap

Differential Revision: D69162870

@facebook-github-bot
Copy link
Contributor

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

Copy link

netlify bot commented Feb 19, 2025

Deploy Preview for pytorch-fbgemm-docs ready!

Name Link
🔨 Latest commit ae43025
🔍 Latest deploy log https://app.netlify.com/sites/pytorch-fbgemm-docs/deploys/67b912405fa47900086acaa7
😎 Deploy Preview https://deploy-preview-3715--pytorch-fbgemm-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

spcyppt added a commit to spcyppt/FBGEMM that referenced this pull request Feb 21, 2025
Summary:

X-link: facebookresearch/FBGEMM#796

This diff implements `generate_vbe_metadata` for cpu, such that the function returns the same output for CPU, CUDA and MTIA.

To support VBE on CPU with existing fixed-batch-size CPU kernel, we need to recompute offsets, which is previously done in python. This diff implements offsets recomputation in C++ such that all manipulations are done in C++.

Note that reshaping offsets and grad_input to work with existing fixed-batch-size CPU kernels are done in Autograd instead of wrapper to avoid multiple computations.

VBE CPU tests are in the next diff.

Differential Revision: D69162870
@facebook-github-bot
Copy link
Contributor

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

Differential Revision:
D68055168

[fbgemm_gpu] Update torchrec to use learning_rate_tensor

D69799449
@facebook-github-bot
Copy link
Contributor

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

spcyppt added a commit to spcyppt/FBGEMM that referenced this pull request Feb 21, 2025
Summary:
Pull Request resolved: pytorch#3715

X-link: facebookresearch/FBGEMM#796

This diff implements `generate_vbe_metadata` for cpu, such that the function returns the same output for CPU, CUDA and MTIA.

To support VBE on CPU with existing fixed-batch-size CPU kernel, we need to recompute offsets, which is previously done in python. This diff implements offsets recomputation in C++ such that all manipulations are done in C++.

Note that reshaping offsets and grad_input to work with existing fixed-batch-size CPU kernels are done in Autograd instead of wrapper to avoid multiple computations.

VBE CPU tests are in the next diff.

Differential Revision: D69162870
Summary:
Pull Request resolved: pytorch#3715

X-link: facebookresearch/FBGEMM#796

This diff implements `generate_vbe_metadata` for cpu, such that the function returns the same output for CPU, CUDA and MTIA.

To support VBE on CPU with existing fixed-batch-size CPU kernel, we need to recompute offsets, which is previously done in python. This diff implements offsets recomputation in C++ such that all manipulations are done in C++.

Note that reshaping offsets and grad_input to work with existing fixed-batch-size CPU kernels are done in Autograd instead of wrapper to avoid multiple computations.

VBE CPU tests are in the next diff.

Differential Revision: D69162870
@facebook-github-bot
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants