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 2 3 | cudnnLRNCrossChannelForward(handle, ...);
...
cudnnLRNCrossChannelBackward(handle, ...);
|
results in the following migrated SYCL* code:
1 2 3 | handle.lrn_forward(...);
...
handle.lrn_backward(...);
|
which is manually adjusted to:
1 2 3 4 | dnnl::memory workspace;
handle.lrn_forward(..., &workspace);
...
handle.lrn_backward(..., &workspace);
|
Suggestions to Fix¶
You may need to adjust the original code.