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 OptimType.NONE in SplitTBE (defuse bwd and optim) #1819

Closed
wants to merge 1 commit into from

Conversation

sryap
Copy link
Contributor

@sryap sryap commented Jun 10, 2023

Summary:
This diff is the backend part

This diff introduces OptimType.NONE. Unlike other OptimTypes,
OptimType.NONE does not perform the optimizer step during SplitTBE's
backward pass. With OptimType.NONE, SplitTBE deduplicates output
gradients in the backward pass and generates a sparse gradient tensor
(PyTorch's sparse_coo_tensor) for the device's weight (FQN:
weights_dev).

Currently, OptimType.NONE only supports the case where the embedding
dimensions of all embedding tables are identical.

Differential Revision: D44392172

@netlify
Copy link

netlify bot commented Jun 10, 2023

Deploy Preview for pytorch-fbgemm-docs canceled.

Name Link
🔨 Latest commit e14b055
🔍 Latest deploy log https://app.netlify.com/sites/pytorch-fbgemm-docs/deploys/6487497a3a197d0009bb3bec

@facebook-github-bot
Copy link
Contributor

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

sryap added a commit to sryap/FBGEMM that referenced this pull request Jun 12, 2023
Summary:
Pull Request resolved: pytorch#1819

This diff is the **backend** part

This diff introduces `OptimType.NONE`.  Unlike other `OptimType`s,
`OptimType.NONE` does not perform the optimizer step during SplitTBE's
backward pass.  With `OptimType.NONE`, SplitTBE deduplicates output
gradients in the backward pass and generates a sparse gradient tensor
(PyTorch's `sparse_coo_tensor`) for the device's weight (FQN:
`weights_dev`).

Currently, `OptimType.NONE` only supports the case where the embedding
dimensions of all embedding tables are identical.

Differential Revision: D44392172

fbshipit-source-id: b1264e5a5032ebad051d5c5b739dd9ffec1d8a92
@facebook-github-bot
Copy link
Contributor

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

sryap added a commit to sryap/FBGEMM that referenced this pull request Jun 12, 2023
Summary:
Pull Request resolved: pytorch#1819

This diff is the **backend** part

This diff introduces `OptimType.NONE`.  Unlike other `OptimType`s,
`OptimType.NONE` does not perform the optimizer step during SplitTBE's
backward pass.  With `OptimType.NONE`, SplitTBE deduplicates output
gradients in the backward pass and generates a sparse gradient tensor
(PyTorch's `sparse_coo_tensor`) for the device's weight (FQN:
`weights_dev`).

Currently, `OptimType.NONE` only supports the case where the embedding
dimensions of all embedding tables are identical.

Differential Revision: D44392172

fbshipit-source-id: e01cd97b9ea0aab2e0f7004e2323d98f83751099
@facebook-github-bot
Copy link
Contributor

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

sryap added a commit to sryap/FBGEMM that referenced this pull request Jun 12, 2023
Summary:
Pull Request resolved: pytorch#1819

This diff is the **backend** part

This diff introduces `OptimType.NONE`.  Unlike other `OptimType`s,
`OptimType.NONE` does not perform the optimizer step during SplitTBE's
backward pass.  With `OptimType.NONE`, SplitTBE deduplicates output
gradients in the backward pass and generates a sparse gradient tensor
(PyTorch's `sparse_coo_tensor`) for the device's weight (FQN:
`weights_dev`).

Currently, `OptimType.NONE` only supports the case where the embedding
dimensions of all embedding tables are identical.

Differential Revision: D44392172

fbshipit-source-id: d62b11a29ab221c3a706f57a2ed146cc5c624096
@facebook-github-bot
Copy link
Contributor

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

Summary:
Pull Request resolved: pytorch#1819

This diff is the **backend** part

This diff introduces `OptimType.NONE`.  Unlike other `OptimType`s,
`OptimType.NONE` does not perform the optimizer step during SplitTBE's
backward pass.  With `OptimType.NONE`, SplitTBE deduplicates output
gradients in the backward pass and generates a sparse gradient tensor
(PyTorch's `sparse_coo_tensor`) for the device's weight (FQN:
`weights_dev`).

Currently, `OptimType.NONE` only supports the case where the embedding
dimensions of all embedding tables are identical.

Differential Revision: D44392172

fbshipit-source-id: 52d746963b772f6ddaada7630cdf4b53d1e71ed3
@facebook-github-bot
Copy link
Contributor

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

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in edc57b1.

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.

None yet

2 participants