DPCT1097
Contents
DPCT1097#
Message#
The function <backward function name> may require the workspace used to save intermediate results from function <forward function name>. By default, a workspace from engine_ext
is selected according to the source data pointer, but this may be incorrect and cause a workspace data race. You may need to
rewrite this code.
Detailed Help#
You can manually pass a dnnl::memory
object generated from the forward function to the backward function.
For example, this original CUDA* code:
1 cudnnLRNCrossChannelForward(handle, ...);
2 ...
3 cudnnLRNCrossChannelBackward(handle, ...);
results in the following migrated SYCL* code:
1 handle.lrn_forward(...);
2 ...
3 handle.lrn_backward(...);
which is manually adjusted to:
1 dnnl::memory workspace;
2 handle.lrn_forward(..., &workspace);
3 ...
4 handle.lrn_backward(..., &workspace);
Suggestions to Fix#
You may need to adjust the original code.