-
Notifications
You must be signed in to change notification settings - Fork 1k
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
gpu: generic: deconvolution: move implementation from ocl folder #2074
Conversation
GPU_INSTANCE_INTEL(intel::ocl::convolution_deconvolution_bwd_data_t) | ||
GPU_INSTANCE_INTEL(intel::ocl::convolution_deconvolution_bwd_weights_t) | ||
GPU_INSTANCE_NVIDIA(nvidia::cudnn_deconvolution_bwd_data_t) | ||
GPU_INSTANCE_NVIDIA(nvidia::cudnn_deconvolution_bwd_weights_t) | ||
GPU_INSTANCE_AMD(amd::miopen_deconvolution_bwd_data_t) | ||
GPU_INSTANCE_AMD(amd::miopen_deconvolution_bwd_weights_t) | ||
GPU_INSTANCE_GENERIC(generic::convolution_deconvolution_bwd_data_t) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this have a performance impact for Intel? If there's a case where both would match, it would now match weights
before data
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With these specific implementations, there should be no performance impact. They're mutually exclusive, looking for dnnl_backward_weights
and dnnl_backward_data
propagation kinds, respectively.
(nit) could you please use |
make test |
Done |
src/gpu/gpu_deconvolution_list.cpp
Outdated
@@ -34,6 +34,9 @@ | |||
#include "gpu/generic/sycl/ref_deconvolution.hpp" | |||
#endif | |||
|
|||
#include "gpu/generic/convolution_deconvolution.hpp" | |||
#include "gpu/intel/ocl/convolution_deconvolution.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpu/intel
directory is not included in the build if gpu vendor is not intel. The header should always be guarded.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed this include, as it was a duplicate of the guarded one.
#include "gpu/intel/compute/utils.hpp" | ||
#include "gpu/intel/gpu_primitive.hpp" | ||
#include "gpu/intel/primitive_conf.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The generic implementations cannot include anything from vendor specific locations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
Move the fwd and bwd data implementations of deconv (convolution deconvolution) from opencl folder to generic one, as they are generic so they work with any convolution implementation. Also enables them for generic case.
This redoes the changes from #2020 that were reverted in 848b0f7 in a way that should be more acceptable.