MIOpen icon indicating copy to clipboard operation
MIOpen copied to clipboard

Deprecate some old static solvers for new ASICs

Open atamazov opened this issue 2 years ago • 2 comments

  • [x] (1) Some old static solvers should be allowed only for the following targets:

    • gfx900/906 (Vega10/20, MI50/60, Radeon VII etc)
    • gfx908/90a (MI100, MI200)
    • gfx103X (Navi 2X)
    • ℹ️ Note that gfx110X (Navi 3X) is NOT included
    • Env.var MIOPEN_DEBUG_ENABLE_DEPRECATED_SOLVERS can be used to override, i.e. enable old static solvers for all targets.
    • ✔️ Implemented in #2081
  • (2) The list of solvers:

    • ConvAsm1x1U
    • ConvAsm1x1UV2
    • ConvAsm3x3U
    • ConvAsm5x10u2v2b1
    • ConvAsm5x10u2v2f1
    • ConvAsm7x7c3h224w224k64u2v2p3q3f1
    • ConvAsmBwdWrW1x1
    • ConvAsmBwdWrW3x3
    • ConvCkIgemmFwdV6r1DlopsNchw
    • ConvHipImplicitGemmBwdDataV1R1
    • ConvHipImplicitGemmBwdDataV1R1Xdlops
    • ConvHipImplicitGemmBwdDataV4R1
    • ConvHipImplicitGemmBwdDataV4R1Xdlops
    • ConvHipImplicitGemmForwardV4R4Xdlops
    • ConvHipImplicitGemmForwardV4R4Xdlops_Padded_Gemm
    • ConvHipImplicitGemmForwardV4R5Xdlops
    • ConvHipImplicitGemmV4R1Fwd
    • ConvHipImplicitGemmV4R4Fwd
    • ConvHipImplicitGemmV4R4WrW
    • ConvHipImplicitGemmWrwV4R4Xdlops
    • ConvHipImplicitGemmWrwV4R4Xdlops_Padded_Gemm
    • ConvOclBwdWrW1x1
    • ConvOclBwdWrW2<N>
    • ConvOclBwdWrW2NonTunable
    • ConvOclBwdWrW53
    • ConvOclDirectFwd
    • ConvOclDirectFwd11x11
    • ConvOclDirectFwd1x1
    • ConvOclDirectFwdGen
  • [ ] (3) The solvers listed at (2) are to be removed when support for the targets listed at (1) is discontinued.

Some clarifications: https://github.com/ROCmSoftwarePlatform/MIOpen/pull/2072#discussion_r1159102468


[Attribution] @junliume @johnny-keker https://github.com/ROCmSoftwarePlatform/MIOpen/labels/specification https://github.com/ROCmSoftwarePlatform/MIOpen/labels/urgency_high

  • Proposed assignees: @JehandadKhan @atamazov

atamazov avatar Apr 08 '23 15:04 atamazov

[attribution] @JehandadKhan I think that this is https://github.com/ROCm/MIOpen/labels/urgency_low https://github.com/ROCm/MIOpen/labels/value_low. All that's left is to remove the solvers (which may only happen in the future)

atamazov avatar May 01 '23 21:05 atamazov

@junliume @JehandadKhan @Kirpich30000 As shown at https://github.com/ROCm/MIOpen/issues/2492#issuecomment-1911121477, ConvOclBwdWrW2<*> deliver good performance (especially with grouped configs). Shall we consider excluding these from the list of deprecated solvers?

FYI quote from https://github.com/ROCm/MIOpen/issues/2492#issuecomment-1919952275:

Maybe it is worth enabling ConvOclBwdWrW2<*> for the new GPUs to avoid inadequate performance of WrW convolutions, especially when n_groups > 1 (we can even enable them only for group convolutions).

atamazov avatar Jun 13 '24 22:06 atamazov