-
Notifications
You must be signed in to change notification settings - Fork 505
Add logic to stream weights in EmbeddingKVDB #2930
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
Open
chouxi
wants to merge
2
commits into
pytorch:main
Choose a base branch
from
chouxi:export-D73792631
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ytorch#2928) Summary: X-link: facebookresearch/FBGEMM#1138 X-link: pytorch/FBGEMM#4053 As titled, add this option all the way to gate the upcoming changes of raw embedding streaming in SSDTBE. Differential Revision: D73691088
Summary: Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `ps_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Differential Revision: D73792631
This pull request was exported from Phabricator. Differential Revision: D73792631 |
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
Apr 30, 2025
Summary: X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `ps_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 2, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 6, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 8, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 8, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 8, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 8, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 Pull Request resolved: pytorch#4058 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 8, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 Pull Request resolved: pytorch#4058 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 9, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631
chouxi
added a commit
to chouxi/FBGEMM
that referenced
this pull request
May 9, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631
chouxi
pushed a commit
to chouxi/FBGEMM
that referenced
this pull request
May 9, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 Pull Request resolved: pytorch#4058 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Differential Revision: D73792631
facebook-github-bot
pushed a commit
to pytorch/FBGEMM
that referenced
this pull request
May 9, 2025
Summary: X-link: facebookresearch/FBGEMM#1145 Pull Request resolved: #4058 X-link: pytorch/torchrec#2930 Gated by enable_raw_embedding_streaming Add the logic to send the passed in tensors to `TrainingParameterServerService` thrift service in EmbeddingKVDB The passed in - `table_names` to get the table FQN when streaming - `table_offsets` to get the global row id across TBEs. - `table_sizes` to get size of each table in TBE to infer which table a specific row belongs to. - `res_server_port` is the port that runs the local `TrainingParameterServerService` to stream tensors to. - `res_store_shards` is the number of shards of the raw embedding store before streaming. It creates a new thread `weights_stream_thread_` in EmbeddingKBDB to stream the weights out of trainers asynchronously. Reviewed By: sryap Differential Revision: D73792631 fbshipit-source-id: ffb19c52779e825484c6787c695ac4c2af278e28
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
Gated by enable_raw_embedding_streaming
Add the logic to send the passed in tensors to
TrainingParameterServerService
thrift service in EmbeddingKVDBThe passed in
table_names
to get the table FQN when streamingtable_offsets
to get the global row id across TBEs.table_sizes
to get size of each table in TBE to infer which table a specific row belongs to.ps_server_port
is the port that runs the localTrainingParameterServerService
to stream tensors to.It creates a new thread
weights_stream_thread_
in EmbeddingKBDB to stream the weights out of trainers asynchronously.Differential Revision: D73792631