Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

984 lines
31 KiB
ReStructuredText

.. meta::
:description: MIOpen environment variables reference
:keywords: MIOpen, ROCm, API, environment variables, environment, reference
********************************************************************
MIOpen environment variables
********************************************************************
This section describes the important MIOpen environment variables,
which are grouped by functionality.
Logging and debugging
======================
The logging and debugging environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_ENABLE_LOGGING``
| Prints basic layer-by-layer MIOpen API call information with parameters and configurations.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_ENABLE_LOGGING_CMD``
| Outputs associated MIOpenDriver command lines to console.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_LOG_LEVEL``
| Controls verbosity of internal operation logging messages.
- | 0: Default (level 4 for release, level 5 for debug builds)
| 1: Quiet (no logging)
| 2: Fatal errors only (unused)
| 3: Errors including fatal errors
| 4: All errors and warnings
| 5: Info level debugging
| 6: Detailed debugging information
| 7: Trace level with additional details
* - | ``MIOPEN_ENABLE_LOGGING_MPMT``
| Prefixes each log line with process/thread identification for multi-process/multi-threaded debugging.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_ENABLE_LOGGING_ELAPSED_TIME``
| Adds timestamp showing elapsed time in milliseconds since previous log message.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_CHECK_NUMERICS``
| Scans inputs/outputs for numerical abnormalities (inf, NaN, zeros).
- | 0x01: Fully informative (print all check results)
| 0x02: Warning information (print only abnormalities)
| 0x04: Throw error on detection
| 0x08: Abort on abnormal result
| 0x10: Print statistics (mean/absmean/min/max)
* - | ``MIOPEN_DEBUG_CHECK_SUB_BUFFER_OOB_MEMORY_ACCESS``
| Checks for GPU sub-buffer out-of-bounds memory access errors.
- | 0 or unset: No OOB detection
| 1: Check for OOBs before sub-buffer start
| 2: Check for OOBs after sub-buffer end
Find mode configuration
=======================
The find mode configuration environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Find database <../conceptual/finddb>`, :doc:`Use the find APIs and immediate mode <../how-to/find-and-immediate>`
and :doc:`Performance database <../conceptual/perfdb>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_FIND_MODE``
| Sets find mode to accelerate find API calls.
- | "NORMAL" or 1: Full find mode (benchmarks all solvers)
| "FAST" or 2: Fast find (use FindDb or immediate fallback)
| "HYBRID" or 3: Hybrid find (FindDb hit or full find)
| 4: Reserved (do not use)
| "DYNAMIC_HYBRID" or 5: Dynamic hybrid (default, skip non-dynamic kernels)
| "TRUST_VERIFY" or 6: Trust verify (use UserFindDb or FindDb fallback or skip non-dynamic kernels fallback with timebox)
| "TRUST_VERIFY_FULL" or 7: Trust verify full (same as trust verify without timebox)
* - | ``MIOPEN_FIND_ENFORCE``
| Controls auto-tune behavior and database updates.
- | "NONE" or 1: No change in default behavior
| "DB_UPDATE" or 2: Always perform auto-tune and update PerfDb
| "SEARCH" or 3: Auto-tune even if not requested via API
| "SEARCH_DB_UPDATE" or 4: Combination of DB_UPDATE and SEARCH
| "DB_CLEAN" or 5: Remove optimized values from User PerfDb
* - | ``MIOPEN_SEARCH_CUTOFF``
| Allows speculative early termination of suboptimal searches.
- | 1: Enable
| 0 or unset: Disable
* - | ``MIOPEN_NAIVE_DISABLE_IF_ALT``
| Skips naive convolution solvers during find when at least one
| non-naive solver succeeds across any algorithm. Naive solvers
| are still used as a fallback when no non-naive solver succeeds.
- | 1 or unset: Enable (default)
| 0: Disable
* - | ``MIOPEN_DEBUG_DISABLE_FIND_DB``
| Disables FindDb functionality.
- | 1: Disable FindDb
| 0 or unset: Enable FindDb
Algorithm control
=================
The algorithm control environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_CONV_FFT``
| Controls FFT convolution algorithm.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT``
| Controls direct convolution algorithm.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_GEMM``
| Controls GEMM convolution algorithm.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_WINOGRAD``
| Controls Winograd convolution algorithm.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM``
| Controls implicit GEMM convolution algorithm.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMMED_FALLBACK``
| Controls immediate fallback for convolution algorithms.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_ENABLE_AI_IMMED_MODE_FALLBACK``
| Controls AI immediate mode fallback behavior.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_FORCE_IMMED_MODE_FALLBACK``
| Forces immediate mode fallback for convolution operations.
- | 0: Disable
| 1: Enable
Kernel build method control
===========================
The kernel build method control environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_GCN_ASM_KERNELS``
| Controls assembly language kernels for convolutions and batch normalization.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_HIP_KERNELS``
| Controls HIP-written convolution kernels (ImplicitGemm algorithm).
- | 0: Disable
| 1: Enable
Solution selection
==================
The solution selection environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_FIND_ONLY_SOLVER``
| Forces use of only one specific solution. Affects ``*Find()`` calls only.
- | Numeric or string solution identifier
| If valid and applicable: only that solution is found
| If valid but not applicable: ``*Find()`` fails
| If invalid: ``*Find()`` call fails
Direct solution control
=======================
The direct solution control environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_3X3U``
| Controls ConvAsm3x3U direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_1X1U``
| Controls ConvAsm1x1U direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_1X1UV2``
| Controls ConvAsm1x1UV2 direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_5X10U2V2``
| Controls ConvAsm5x10u2v2f1 and ConvAsm5x10u2v2b1 direct solutions.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_7X7C3H224W224``
| Controls ConvAsm7x7c3h224w224k64u2v2p3q3f1 direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_WRW3X3``
| Controls ConvAsmBwdWrW3x3 direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_WRW1X1``
| Controls ConvAsmBwdWrW1x1 direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_HIP_FWD11X11``
| Controls ConvHipDirectFwd11x11 direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_HIP_FWD``
| Controls ConvHipDirectFwd direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_HIP_WRW53``
| Controls ConvHipBwdWrW53 direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_1X1U_PERF_VALS``
| Controls performance values for ConvAsm1x1U direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_1X1U_SEARCH_OPTIMIZED``
| Controls optimized search for ConvAsm1x1U direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_ASM_1X1U_AI_HEUR``
| Controls AI heuristics for ConvAsm1x1U direct solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_DIRECT_NAIVE_CONV_FWD``
| Controls naive convolution forward direct solution.
- | 0: Disable
| 1: Enable
Winograd solution control
=========================
The Winograd solution control environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_3X3``
| Controls ConvBinWinograd3x3U FP32 Winograd Fwd/Bwd (filter size 3x3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS``
| Controls ConvBinWinogradRxS FP32/FP16 F(3,3) Fwd/Bwd and FP32 F(3,2) WrW Winograd.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS_WRW``
| Controls FP32 F(3,2) WrW convolutions only (subset of ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS``).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS_FWD_BWD``
| Controls FP32/FP16 F(3,3) Fwd/Bwd (subset of ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS``).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS_F3X2``
| Controls ConvBinWinogradRxSf3x2 FP32/FP16 Fwd/Bwd F(3,2) Winograd.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS_F2X3``
| Controls ConvBinWinogradRxSf2x3 FP32/FP16 Fwd/Bwd F(2,3) Winograd (group convolutions only).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS_F2X3_G1``
| Controls ConvBinWinogradRxSf2x3g1 FP32/FP16 Fwd/Bwd F(2,3) Winograd (non-group convolutions).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_FUSED_WINOGRAD``
| Controls Fused FP32 F(3,3) Winograd with variable filter size.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RXS_F2X3_PERF_VALS``
| Controls performance values for Winograd RxS F(2,3) solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_FURY_RXS_F2X3``
| Controls Winograd Fury RxS F(2,3) solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_FURY_RXS_F3X2``
| Controls Winograd Fury RxS F(3,2) solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_RAGE_RXS_F2X3``
| Controls Winograd Rage RxS F(2,3) solution.
- | 0: Disable
| 1: Enable
Multi-pass Winograd solution control
====================================
The multi-pass Winograd solution control environment variables for MIOpen are collected in the
following table. For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F3X2``
| Controls ConvWinograd3x3MultipassWrW<3-2> WrW F(3,2), stride 2 only.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F3X3``
| Controls ConvWinograd3x3MultipassWrW<3-3> WrW F(3,3), stride 2 only.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F3X4``
| Controls ConvWinograd3x3MultipassWrW<3-4> WrW F(3,4).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F3X5``
| Controls ConvWinograd3x3MultipassWrW<3-5> WrW F(3,5).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F3X6``
| Controls ConvWinograd3x3MultipassWrW<3-6> WrW F(3,6).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F5X3``
| Controls ConvWinograd3x3MultipassWrW<5-3> WrW F(5,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F5X4``
| Controls ConvWinograd3x3MultipassWrW<5-4> WrW F(5,4).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F7X2``
| Controls ConvWinograd3x3MultipassWrW<7-2>, <7-2-1-1>, and <1-1-7-2> WrW F(7,2) variants.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_F7X3``
| Controls ConvWinograd3x3MultipassWrW<7-3>, <7-3-1-1>, and <1-1-7-3> WrW F(7,3) variants.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_WINOGRAD_F2X3``
| Controls ConvMPBidirectWinograd<2-3> FWD/BWD F(2,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_WINOGRAD_F3X3``
| Controls ConvMPBidirectWinograd<3-3> FWD/BWD F(3,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_WINOGRAD_F4X3``
| Controls ConvMPBidirectWinograd<4-3> FWD/BWD F(4,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_WINOGRAD_F5X3``
| Controls ConvMPBidirectWinograd<5-3> FWD/BWD F(5,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_WINOGRAD_F6X3``
| Controls ConvMPBidirectWinograd<6-3> FWD/BWD F(6,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_XDLOPS_WINOGRAD_F2X3``
| Controls ConvMPBidirectWinograd_xdlops<2-3> FWD/BWD F(2,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_XDLOPS_WINOGRAD_F3X3``
| Controls ConvMPBidirectWinograd_xdlops<3-3> FWD/BWD F(3,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_XDLOPS_WINOGRAD_F4X3``
| Controls ConvMPBidirectWinograd_xdlops<4-3> FWD/BWD F(4,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_XDLOPS_WINOGRAD_F5X3``
| Controls ConvMPBidirectWinograd_xdlops<5-3> FWD/BWD F(5,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_XDLOPS_WINOGRAD_F6X3``
| Controls ConvMPBidirectWinograd_xdlops<6-3> FWD/BWD F(6,3).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_MP_BD_WINOGRAD_EXPEREMENTAL_FP16_TRANSFORM``
| Controls ConvMPBidirectWinograd* FWD/BWD FP16 experimental mode (use at your own risk).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_AMD_WINOGRAD_MPASS_WORKSPACE_MAX``
| Sets workspace size limit for ConvWinograd3x3MultipassWrW solutions.
- | Decimal or hex value (64-bit unsigned integer) in bytes
| Default: 2000000000 (~1.862 GiB) for gfx900 and gfx906/60
| 0: Use default limit
| 1: Prohibit workspace use
| -1: Remove default limit
* - | ``MIOPEN_DEBUG_AMD_MP_BD_WINOGRAD_WORKSPACE_MAX``
| Sets workspace size limit for ConvMPBidirectWinograd solutions.
- | Decimal or hex value (64-bit unsigned integer) in bytes
| 0: Use default limit
| 1: Prohibit workspace use
| -1: Remove default limit
ASM implicit GEMM solution control
==================================
The ASM implicit GEMM solution control environment variables for MIOpen are collected in the
following table. For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_FWD_V4R1``
| Controls ConvAsmImplicitGemmV4R1DynamicFwd solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_FWD_V4R1_1X1``
| Controls ConvAsmImplicitGemmV4R1DynamicFwd_1x1 solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_BWD_V4R1``
| Controls ConvAsmImplicitGemmV4R1DynamicBwd solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_WRW_V4R1``
| Controls ConvAsmImplicitGemmV4R1DynamicWrw solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_FWD_GTC_XDLOPS``
| Controls ConvAsmImplicitGemmGTCDynamicFwdXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_BWD_GTC_XDLOPS``
| Controls ConvAsmImplicitGemmGTCDynamicBwdXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_WRW_GTC_XDLOPS``
| Controls ConvAsmImplicitGemmGTCDynamicWrwXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_FWD_GTC_XDLOPS_NHWC``
| Controls ConvAsmImplicitGemmGTCFwdXdlopsNHWC solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_BWD_GTC_XDLOPS_NHWC``
| Controls ConvAsmImplicitGemmGTCBwdXdlopsNHWC solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_WRW_GTC_XDLOPS_NHWC``
| Controls ConvAsmImplicitGemmGTCWrwXdlopsNHWC solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_FWD_GTC_DLOPS_NCHWC``
| Controls ConvAsmImplicitGemmGTCFwdDlopsNCHWC solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_ASM_PK_ATOMIC_ADD_FP16``
| Controls packed atomic add FP16 behavior for ASM implicit GEMM solutions.
- | 0: Disable packed atomic add FP16
| 1: Enable packed atomic add FP16
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_GROUP_BWD_XDLOPS``
| Controls grouped convolution HIP implicit GEMM backward XDLOPS solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_GROUP_CONV_IMPLICIT_GEMM_HIP_BWD_XDLOPS_AI_HEUR``
| Controls AI heuristics for grouped convolution HIP implicit GEMM backward XDLOPS.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_FWD_V4R4_XDLOPS_ADD_VECTOR_LOAD_GEMMN_TUNE_PARAM``
| Controls vector load GEMM-N tuning parameters for implicit GEMM forward V4R4 XDLOPS.
- | 0: Disable
| 1: Enable
HIP implicit GEMM solution control
==================================
The HIP implicit GEMM solution control environment variables for MIOpen are collected in the
following table. For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_FWD_V4R1``
| Controls ConvHipImplicitGemmV4R1Fwd solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_FWD_V4R4``
| Controls ConvHipImplicitGemmV4R4Fwd solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_BWD_V1R1``
| Controls ConvHipImplicitGemmBwdDataV1R1 solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_BWD_V4R1``
| Controls ConvHipImplicitGemmBwdDataV4R1 solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_WRW_V4R1``
| Controls ConvHipImplicitGemmV4R1WrW solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_WRW_V4R4``
| Controls ConvHipImplicitGemmV4R4WrW solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_FWD_V4R4_XDLOPS``
| Controls ConvHipImplicitGemmForwardV4R4Xdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_FWD_V4R5_XDLOPS``
| Controls ConvHipImplicitGemmForwardV4R5Xdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_BWD_V1R1_XDLOPS``
| Controls ConvHipImplicitGemmBwdDataV1R1Xdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_BWD_V4R1_XDLOPS``
| Controls ConvHipImplicitGemmBwdDataV4R1Xdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_WRW_V4R4_XDLOPS``
| Controls ConvHipImplicitGemmWrwV4R4Xdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_FWD_V4R4_PADDED_GEMM_XDLOPS``
| Controls ConvHipImplicitGemmForwardV4R4Xdlops_Padded_Gemm solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_WRW_V4R4_PADDED_GEMM_XDLOPS``
| Controls ConvHipImplicitGemmWrwV4R4Xdlops_Padded_Gemm solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_FWD_XDLOPS``
| Controls ConvHipImplicitGemmFwdXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_BWD_XDLOPS``
| Controls ConvHipImplicitGemmBwdXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_HIP_WRW_XDLOPS``
| Controls ConvHipImplicitGemmWrwXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_XDLOPS``
| Controls implicit GEMM XDLOPS solutions.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_IMPLICIT_GEMM_XDLOPS_EMULATE``
| Controls XDLOPS emulation for implicit GEMM solutions.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_IMPLICIT_GEMM_XDLOPS_INLINE_ASM``
| Controls inline assembly for implicit GEMM XDLOPS solutions.
- | 0: Disable
| 1: Enable
3D implicit GEMM solution control
=================================
The 3D implicit GEMM solution control environment variables for MIOpen are collected in the
following table. For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_3D_CONV_IMPLICIT_GEMM_HIP_FWD_XDLOPS``
| Controls 3D ConvHipImplicitGemmFwdXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_3D_CONV_IMPLICIT_GEMM_HIP_BWD_XDLOPS``
| Controls 3D ConvHipImplicitGemmBwdXdlops solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_3D_CONV_IMPLICIT_GEMM_HIP_WRW_XDLOPS``
| Controls 3D ConvHipImplicitGemmWrwXdlops solution.
- | 0: Disable
| 1: Enable
GEMM backend control
====================
The GEMM backend control environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_GEMM_ENFORCE_BACKEND``
| Overrides default GEMM backend (rocBLAS).
- | 1: Use rocBLAS if enabled
| 2: Reserved
| 3: No GEMM is called
| 4: Reserved
| 5: Use hipBLASLt if enabled
| Any other value: Use default behavior
* - | ``ROCBLAS_LAYER``
| Controls rocBLAS GEMM logging output.
- | Unset: No logging
| 1: Trace logging
| 2: Bench logging
| 3: Trace and bench logging
* - | ``HIPBLASLT_LOG_LEVEL``
| Controls hipBLASLt GEMM logging output.
- | 0: Off (default)
| 1: Error logging
| 2: Trace (API calls with parameters)
| 3: Hints (performance improvement suggestions)
| 4: Info (general execution information)
| 5: API trace (detailed API parameters)
Convolution attributes
======================
The convolution attribute environment variables for MIOpen are collected in the following table.
For more information, see :doc:`MI200 alternate implementation <../conceptual/MI200-alt-implementation>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_CONVOLUTION_ATTRIB_FP16_ALT_IMPL``
| Controls the alternate ``FP16`` implementation that uses the ``BFloat16`` larger exponent
| range for all convolution directions.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_CONVOLUTION_ATTRIB_FP16_ALT_IMPL``
| Controls the alternate ``FP16`` implementation that uses the ``BFloat16`` larger exponent
| range (alternative to the miopenSetConvolutionAttribute API).
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONVOLUTION_DETERMINISTIC``
| Controls deterministic convolution behavior.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONVOLUTION_ATTRIB_FP8_ROUNDING_MODE``
| Controls FP8 rounding mode for convolution attributes.
- | Integer value specifying FP8 rounding mode
* - | ``MIOPEN_DEBUG_CONVOLUTION_ATTRIB_FP8_ROUNDING_SEED``
| Controls FP8 rounding seed for convolution attributes.
- | Integer value specifying FP8 rounding seed
Compilation control
===================
The compilation control environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_COMPILE_PARALLEL_LEVEL``
| Controls parallel compilation thread count for ``*Find()`` calls.
- | Integer value
| Default: 1 when using ``COMGR``, otherwise half the number of available hardware threads
| 1: Disable multi-threaded compilation
* - | ``MIOPEN_DEBUG_COMPILE_ONLY``
| Controls compile-only mode for debugging.
- | 0: Disable
| 1: Enable
Experimental controls
=====================
The experimental control environment variables for MIOpen are collected in the following table.
For more information, see :doc:`Logging and debugging <../how-to/debug-log>`.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_AMD_ROCM_METADATA_ENFORCE``
| Controls Code Object (CO) version for GCN assembly kernels.
- | 0 or unset: Auto-detect CO version (default)
| 1: Always assemble v2 COs
| 2: Behave as if both v2 and v3 COs supported
| 3: Always assemble v3 COs
* - | ``MIOPEN_DEBUG_AMD_ROCM_METADATA_PREFER_OLDER``
| Prefers older CO format when both v2 and v3 are supported.
- | 1, "yes", "true", "enable", "enabled": Prefer v2 over v3
| 0, "no", "false", "disable", "disabled": Use newer format
RNN control
===========
The RNN control environment variables for MIOpen are collected in the following table.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_RNNBWDMS_EXP``
| Controls experimental RNN backward multi-stream behavior.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_RNNBWMS_EXP``
| Controls experimental RNN backward multi-stream behavior.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_RNN_DYNAMIC_FORCE``
| Forces dynamic RNN behavior.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_RNNFWD_EXP``
| Controls experimental RNN forward behavior.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_RNNFWD_MS_DISPATCH``
| Controls multi-stream dispatch for RNN forward operations.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_RNN_MS_STREAM_CNT``
| Controls stream count for RNN multi-stream operations.
- | Integer value specifying stream count
Composable Kernel (CK) solution control
=======================================
The Composable Kernel (CK) solution control environment variables for MIOpen are collected in the
following table.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_CONV_CK_IGEMM_FWD_V6R1_DLOPS_NCHW``
| Controls CK implicit GEMM forward V6R1 DLOPS NCHW solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_CK_IGEMM_FWD_BIAS_ACTIV``
| Controls CK implicit GEMM forward bias activation fused solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_CK_IGEMM_FWD_BIAS_RES_ADD_ACTIV``
| Controls CK implicit GEMM forward bias residual add activation fused solution.
- | 0: Disable
| 1: Enable
MLIR solution control
=====================
The MLIR solution control environment variables for MIOpen are collected in the following table.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_CONV_MLIR_IGEMM_WRW_XDLOPS``
| Controls MLIR implicit GEMM weight-gradient XDLOPS solution.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DEBUG_CONV_MLIR_IGEMM_BWD_XDLOPS``
| Controls MLIR implicit GEMM backward XDLOPS solution.
- | 0: Disable
| 1: Enable
Attention and softmax control
=============================
The attention and softmax control environment variables for MIOpen are collected in the following table.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DEBUG_ATTN_SOFTMAX``
| Controls attention softmax solution.
- | 0: Disable
| 1: Enable
Driver and testing (Advanced)
=============================
The driver and testing environment variables for MIOpen are collected in the following table. These
variables are primarily intended for testing and driver purposes.
.. list-table::
:header-rows: 1
:widths: 70,30
* - **Environment variable**
- **Value**
* - | ``MIOPEN_DRIVER_PAD_BUFFERS_2M``
| Controls 2M buffer padding in MIOpen driver.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DRIVER_USE_GPU_REFERENCE``
| Controls GPU reference usage in MIOpen driver.
- | 0: Disable
| 1: Enable
* - | ``MIOPEN_DRIVER_SUBNORM_PERCENTAGE``
| Controls subnormal percentage in MIOpen driver.
- | Integer value specifying subnormal percentage