Skip to content

Commit

Permalink
[ROCm BugFix] Fix the error of reloading the model library on the ROC…
Browse files Browse the repository at this point in the history
…m platform: MIOpen Error: No invoker was registered for convolution forward.

Signed-off-by: Liangxijun-1001 <lxjqq365@126.com>
  • Loading branch information
Liangxijun-1001 committed Dec 2, 2023
1 parent e9a3b60 commit 3a900bb
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/runtime/contrib/miopen/conv_forward.cc
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,29 @@ TVM_REGISTER_GLOBAL("tvm.contrib.miopen.conv2d.forward")
entry_ptr->conv_entry.data_type, y->shape[0],
y->shape[1], y->shape[2], y->shape[3]));

// Set workspace
size_t workspace_size = 0;
MIOPEN_CALL(miopenConvolutionForwardGetWorkSpaceSize(
entry_ptr->handle, entry_ptr->conv_entry.filter_desc, entry_ptr->conv_entry.input_desc,
entry_ptr->conv_entry.conv_desc, entry_ptr->conv_entry.output_desc, &workspace_size));
entry_ptr->conv_entry.UpdateWorkspace(workspace_size);

const float alpha = 1.f;
const float beta = 0.f;

const int request_algo_count = 4;
const bool exhaustive_search = true;
void* workspace = entry_ptr->conv_entry.workspace;
if (workspace_size == 0) workspace = nullptr;
int returned_algo_count = 0;
miopenConvAlgoPerf_t perfs[4];

MIOPEN_CALL(miopenFindConvolutionForwardAlgorithm(
entry_ptr->handle, entry_ptr->conv_entry.input_desc, x->data,
entry_ptr->conv_entry.filter_desc, w->data, entry_ptr->conv_entry.conv_desc,
entry_ptr->conv_entry.output_desc, y->data, request_algo_count, &returned_algo_count,
perfs, workspace, workspace_size, exhaustive_search));

MIOPEN_CALL(miopenConvolutionForward(
entry_ptr->handle, &alpha, entry_ptr->conv_entry.input_desc, x->data,
entry_ptr->conv_entry.filter_desc, w->data, entry_ptr->conv_entry.conv_desc,
Expand Down

0 comments on commit 3a900bb

Please sign in to comment.