Skip to content

Commit f0ee75d

Browse files
[Conv] Remove duplicate GetCKMaxWorkspaceSize declaration in 3D grouped-wrw solver
ConvHipImplicitGemm3DGroupWrwXdlops declared GetCKMaxWorkspaceSize twice: a templated helper (per-dtype alpha/beta dispatch) plus a same-name non-template dispatcher, which read as an accidental duplicate (and mixed std::size_t / size_t). Mirror the sibling CheckCKApplicability pattern in the same class: keep the templated helper only and inline the dtype switch at the sole caller (GetWorkspaceSize), exactly as IsApplicable does for CheckCKApplicability. This removes the redundant member and the confusing declaration pair. Behavior is unchanged. Reported-by: Sree Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent f42cb0d commit f0ee75d

2 files changed

Lines changed: 8 additions & 15 deletions

File tree

projects/miopen/src/include/miopen/conv/solvers.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4645,8 +4645,7 @@ struct ConvHipImplicitGemm3DGroupWrwXdlops final
46454645
bool CheckCKApplicability(const miopen::conv::ProblemDescription&) const;
46464646

46474647
template <typename DataType>
4648-
std::size_t GetCKMaxWorkspaceSize(const miopen::conv::ProblemDescription&) const;
4649-
size_t GetCKMaxWorkspaceSize(const miopen::conv::ProblemDescription& problem) const;
4648+
size_t GetCKMaxWorkspaceSize(const miopen::conv::ProblemDescription&) const;
46504649
};
46514650

46524651
struct PerformanceConfigHipImplicitGemm3DGroupBwdXdlops

projects/miopen/src/solver/conv/conv_hip_implicit_gemm_3d_grouped_wrw_xdlops.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -557,30 +557,24 @@ ConvHipImplicitGemm3DGroupWrwXdlops::GetCKMaxWorkspaceSize(const ProblemDescript
557557
}
558558

559559
size_t
560-
ConvHipImplicitGemm3DGroupWrwXdlops::GetCKMaxWorkspaceSize(const ProblemDescription& problem) const
560+
ConvHipImplicitGemm3DGroupWrwXdlops::GetWorkspaceSize(const ExecutionContext&,
561+
const ProblemDescription& problem) const
561562
{
563+
size_t ck_ws_size = 0;
562564
#if MIOPEN_BACKEND_HIP && MIOPEN_USE_COMPOSABLEKERNEL
563565
switch(problem.GetInDataType())
564566
{
565-
case miopenHalf: return GetCKMaxWorkspaceSize<ck::half_t>(problem);
566-
case miopenFloat: return GetCKMaxWorkspaceSize<float>(problem);
567-
case miopenInt8: return GetCKMaxWorkspaceSize<int8_t>(problem);
568-
case miopenBFloat16: return GetCKMaxWorkspaceSize<ck::bhalf_t>(problem);
567+
case miopenHalf: ck_ws_size = GetCKMaxWorkspaceSize<ck::half_t>(problem); break;
568+
case miopenFloat: ck_ws_size = GetCKMaxWorkspaceSize<float>(problem); break;
569+
case miopenInt8: ck_ws_size = GetCKMaxWorkspaceSize<int8_t>(problem); break;
570+
case miopenBFloat16: ck_ws_size = GetCKMaxWorkspaceSize<ck::bhalf_t>(problem); break;
569571
case miopenInt64:
570572
case miopenInt32:
571573
case miopenFloat8_fnuz:
572574
case miopenBFloat8_fnuz:
573575
case miopenDouble: break;
574576
}
575577
#endif
576-
return 0; // other types not applicable for this solver
577-
}
578-
579-
size_t
580-
ConvHipImplicitGemm3DGroupWrwXdlops::GetWorkspaceSize(const ExecutionContext&,
581-
const ProblemDescription& problem) const
582-
{
583-
auto ck_ws_size = GetCKMaxWorkspaceSize(problem);
584578
return GetWorkspaceSizeLayoutTransformConv(problem, ck_ws_size);
585579
}
586580

0 commit comments

Comments
 (0)