-
Notifications
You must be signed in to change notification settings - Fork 572
Add keep_orig_idx_per_feature parameter to block_bucketize_sparse_features kernel #4027
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
base: main
Are you sure you want to change the base?
Conversation
This pull request was exported from Phabricator. Differential Revision: D73606958 |
✅ Deploy Preview for pytorch-fbgemm-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
This pull request was exported from Phabricator. Differential Revision: D73606958 |
…tures kernel (pytorch#4027) Summary: Pull Request resolved: pytorch#4027 X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
This pull request was exported from Phabricator. Differential Revision: D73606958 |
…tures kernel (pytorch#4027) Summary: Pull Request resolved: pytorch#4027 X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
6c9d912
to
710535a
Compare
This pull request was exported from Phabricator. Differential Revision: D73606958 |
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
This pull request was exported from Phabricator. Differential Revision: D73606958 |
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
This pull request was exported from Phabricator. Differential Revision: D73606958 |
…tures kernel (pytorch#4027) Summary: Pull Request resolved: pytorch#4027 X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
This pull request was exported from Phabricator. Differential Revision: D73606958 |
…tures kernel (pytorch#4027) Summary: Pull Request resolved: pytorch#4027 X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
This pull request was exported from Phabricator. Differential Revision: D73606958 |
…tures kernel (pytorch#4027) Summary: X-link: facebookresearch/FBGEMM#1112 **Context** Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables. Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of [the Flexible Collision-Free Embedding Table](https://github.com/pytorch/torchrec/blob/main/rfc/RFC-0002-Flexible-Collision-Free-Embedding-Table.md), one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention. For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively. Spec: - keep_orig_idx_per_feature is an optional parameter with per feature settings. - If the keep_orig_idx_per_feature is not None, the value will override global flag keep_orig_idx, no matter it's true for false. - If keep_orig_idx_per_feature is None, fallback to keep_orig_idx control. Note: Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue. Differential Revision: D73606958
This pull request was exported from Phabricator. Differential Revision: D73606958 |
Summary:
X-link: https://github.com/facebookresearch/FBGEMM/pull/1112
Context
Enhance block_bucketize_sparse_features and block_bucketize_sparse_features_inference kernels to support mixed-format embedding tables.
Previously, the keep_orig_idx parameter was a boolean flag applied uniformly across all features, determining whether to retain the original index. With the introduction of the Flexible Collision-Free Embedding Table, one embedding collection may include both collision-free and collision tables. This update allows the kernel to handle mixed formats by supporting feature-wise control over index retention.
For collision-free tables, a large table size of 2^50 is set, maintaining parameters as id-value pairs and preserving the original global id. This change facilitates the use of mixed-style embedding tables effectively.
Spec:
Note:
Adding additional parameter keep_orig_idx_per_feature, instead of change keep_orig_idx directly, is to avoid backward compatibility issue.
Differential Revision: D73606958