-
Notifications
You must be signed in to change notification settings - Fork 74k
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
No registered 'ResourceScatterNdUpdate' OpKernel for 'GPU' #45663
Comments
@Flamefire, Could you please check if you are facing the same error with CUDA 11 and cuDNN 8 as well? Thanks! |
As I can't use CUDA 11 I retested that with TF 2.3 and |
The issue is fully expected looking at the source: The bool kernel is simply never declared for GPU, the relevant line is
That uses tensorflow/tensorflow/core/framework/register_types.h Lines 195 to 196 in b5c8d77
And as one can see the Bool type is missing. I guess using |
Hi @Flamefire! We are checking whether you still need any assistance in this issue. I could not find above test in 2.9 version now. Thank you! |
This issue has been automatically marked as stale because it has no recent activity. It will be closed if no further activity occurs. Thank you. |
Test has only moved here: https://github.com/tensorflow/tensorflow/blob/v2.9.1/tensorflow/python/kernel_tests/array_ops/batch_scatter_ops_test.py#L86 And code looks still the same: https://github.com/tensorflow/tensorflow/blob/v2.9.1/tensorflow/core/kernels/scatter_nd_op_gpu.cu.cc#L201 So yes the issue persists. |
Hi @Flamefire ! |
Sorry but your gist doesn't show the test passing. Last lines I see are
As shown in the source there is simply no Boolean type registered for the "ResourceScatterNdUpdate".
on GPU it will try to find a GPU kernel for a bool tensor(see code at https://github.com/tensorflow/tensorflow/blob/v2.9.1/tensorflow/python/ops/state_ops.py#L1041 ) and fail with the above error. I'm not familiar enough with TF to know how to evaluate the above on GPU but if you do that should be enough to reproduce. Again: This only fails when run on GPU as the CPU kernels is registered for bool: https://github.com/tensorflow/tensorflow/blob/v2.9.1/tensorflow/core/kernels/scatter_nd_op.cc#L501-L502 |
Thanks @Flamefire for the update. |
System information
Describe the current behavior
A test shows that a GPU implementation for BOOL inputs of ResourceScatterNdUpdate is seemingly missing.
The test is //tensorflow/python/kernel_tests:batch_scatter_ops_test -> ScatterTest.testBooleanScatterUpdate
Standalone code to reproduce the issue
Run bazel test
Other info / logs
The text was updated successfully, but these errors were encountered: