Skip to content

hardsigmoid: add cuda kernels#36351

Closed
vkuzo wants to merge 5 commits intogh/vkuzo/27/basefrom
gh/vkuzo/27/head
Closed

hardsigmoid: add cuda kernels#36351
vkuzo wants to merge 5 commits intogh/vkuzo/27/basefrom
gh/vkuzo/27/head

Conversation

@vkuzo
Copy link
Copy Markdown
Contributor

@vkuzo vkuzo commented Apr 9, 2020

Stack from ghstack:

Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

Differential Revision: D20955589

Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

[ghstack-poisoned]
vkuzo added a commit that referenced this pull request Apr 9, 2020
Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

ghstack-source-id: 598c203
Pull Request resolved: #36351
@dr-ci
Copy link
Copy Markdown

dr-ci Bot commented Apr 9, 2020

💊 Build failures summary and remediations

As of commit 1a27431 (more details on the Dr. CI page):


  • 1/1 failures introduced in this PR

XLA failure

Job pytorch_xla_linux_xenial_py3_6_clang7_test is failing. Please create an issue with title prefixed by [PT_BREAK] in pytorch/xla and link to to this PR. If you have questions, please reach out to @ailzhang / @dlibenzi / @JackCaoG.


This comment was automatically generated by Dr. CI (expand for details).Follow this link to opt-out of these comments for your Pull Requests.

Please report bugs/suggestions on the GitHub issue tracker.

See how this bot performed.

This comment has been revised 17 times.

@vkuzo vkuzo self-assigned this Apr 9, 2020
@vkuzo vkuzo added the oncall: quantization Quantization support in PyTorch label Apr 9, 2020
Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

Differential Revision: [D20955589](https://our.internmc.facebook.com/intern/diff/D20955589)

[ghstack-poisoned]
vkuzo added a commit that referenced this pull request Apr 10, 2020
Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

ghstack-source-id: 24645f5
Pull Request resolved: #36351
Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

Differential Revision: [D20955589](https://our.internmc.facebook.com/intern/diff/D20955589)

[ghstack-poisoned]
Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

Differential Revision: [D20955589](https://our.internmc.facebook.com/intern/diff/D20955589)

[ghstack-poisoned]
}

void hardsigmoid_kernel(TensorIterator& iter) {
AT_DISPATCH_FLOATING_TYPES_AND2(at::ScalarType::Half, at::ScalarType::BFloat16, iter.dtype(), "hardsigmoid_cuda", [&]() {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tensorflow uses a different definition, https://www.tensorflow.org/api_docs/python/tf/keras/activations/hard_sigmoid,
we do not have a use case for that definition, so lets stick with this one

Summary:

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:

add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Reviewers:

Subscribers:

Tasks:

Tags:

Differential Revision: [D20955589](https://our.internmc.facebook.com/intern/diff/D20955589)

[ghstack-poisoned]
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request has been merged in 16e90eb.

facebook-github-bot pushed a commit that referenced this pull request Apr 17, 2020
Summary:
#36351 make `hardsigmoid_backward` use tensoriterator but that can be done only after proper device dispatch.
Pull Request resolved: #36704

Differential Revision: D21068126

Pulled By: ailzhang

fbshipit-source-id: 6a6a74216f2b50fa7d15f692cd1583d3d233580a
@facebook-github-bot facebook-github-bot deleted the gh/vkuzo/27/head branch April 19, 2020 14:17
laurentdupin pushed a commit to laurentdupin/pytorch that referenced this pull request Apr 24, 2026
Summary:
Pull Request resolved: pytorch#36351

Adds CUDA kernels for hardsigmoid, to enable its use in training.

Note: the update to the cpu backward pass is to keep the cpu vs cuda
logic consistent, no change in functionality.

Test Plan:
add CI for the forward pass
run this for the backward pass:
https://gist.github.com/vkuzo/95957d365600f9ad10d25bd20f58cc1a

Imported from OSS

Differential Revision: D20955589

fbshipit-source-id: dc198aa6a58e1a7996e1831f1e479c398ffcbc90
laurentdupin pushed a commit to laurentdupin/pytorch that referenced this pull request Apr 24, 2026
Summary:
pytorch#36351 make `hardsigmoid_backward` use tensoriterator but that can be done only after proper device dispatch.
Pull Request resolved: pytorch#36704

Differential Revision: D21068126

Pulled By: ailzhang

fbshipit-source-id: 6a6a74216f2b50fa7d15f692cd1583d3d233580a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Merged oncall: quantization Quantization support in PyTorch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants