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

Split up jagged_tensor_ops.cu for build perf #1753

Closed
wants to merge 1 commit into from

Conversation

r-barnes
Copy link
Contributor

@r-barnes r-barnes commented May 5, 2023

Summary:
Splitting up jagged_tensor_ops.cu reduces build times on a test system from 179s->124s.

This change moves most functions in jagged_tensor_ops.cu into their own files.

It moves the inline function asynchronous_complete_cumsum into its own implementation file and makes it no longer inline.

A macro FBGEMM_DISPATCH_TO_CUDA_STANDALONE is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

SharedMemory is removed from common.cuh and we instead rely on the one in fbgemm_cuda_utils.cuh.

The const qualifier may have been added in a few places because it's a good idea.

Reviewed By: simpkins

Differential Revision: D45021218

@netlify
Copy link

netlify bot commented May 5, 2023

Deploy Preview for pytorch-fbgemm-docs canceled.

Name Link
🔨 Latest commit aa6d046
🔍 Latest deploy log https://app.netlify.com/sites/pytorch-fbgemm-docs/deploys/645d6aff573760000991c832

@facebook-github-bot
Copy link
Contributor

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 5, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 8, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

1 similar comment
@facebook-github-bot
Copy link
Contributor

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 8, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

fbshipit-source-id: 329b890cf5b4c724805da5d827d215365e7519e3
r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 8, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 8, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 8, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 8, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 9, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 9, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 9, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 9, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 9, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 10, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 11, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 11, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

r-barnes added a commit to r-barnes/FBGEMM that referenced this pull request May 11, 2023
Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

Summary:
Pull Request resolved: pytorch#1753

Splitting up `jagged_tensor_ops.cu` reduces build times on a test system from 179s->124s.

This change moves most functions in `jagged_tensor_ops.cu` into their own files.

It moves the inline function `asynchronous_complete_cumsum` into its own implementation file and makes it no longer inline.

A macro `FBGEMM_DISPATCH_TO_CUDA_STANDALONE` is introduced which allows per-file registration of operators, thereby preventing the need to add a whole mess of headers.

`SharedMemory` is removed from `common.cuh` and we instead rely on the one in `fbgemm_cuda_utils.cuh`.

The `const` qualifier may have been added in a few places because it's a good idea.

Reviewed By: sryap, simpkins

Differential Revision: D45021218

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

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

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 3f2eaa8.

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