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
73 lines
2.8 KiB
ReStructuredText
73 lines
2.8 KiB
ReStructuredText
.. meta::
|
|
:description: Using the MIOpen Find Database
|
|
:keywords: MIOpen, ROCm, API, documentation
|
|
|
|
********************************************************************
|
|
Using the find database
|
|
********************************************************************
|
|
|
|
MIOpen 2.0 introduced :doc:`immediate mode <../how-to/find-and-immediate>`, which
|
|
is based on a find database called FindDb. This database contains the results of calls to the legacy ``Find()`` stage.
|
|
|
|
.. note::
|
|
|
|
Prior to MIOpen 2.0, you could use calls (such as ``miopenFindConvolution*Algorithm()``) to gather a
|
|
set of convolution algorithms in the form of an array of ``miopenConvSolution_t`` structs. This process
|
|
is time consuming because it requires online benchmarking of competing algorithms.
|
|
|
|
FindDb consists of two parts:
|
|
|
|
* **System FindDb**: A system-wide storage that holds pre-run values for the most applicable
|
|
configurations.
|
|
* **User FindDb**: A per-user storage that holds results for arbitrary user-run configurations. It also
|
|
serves as a cache for the ``Find()`` stage.
|
|
|
|
The User FindDb *always takes precedence* over the System FindDb.
|
|
|
|
By default, System FindDb resides within the MIOpen install location, while User FindDb resides in your
|
|
home directory.
|
|
|
|
.. note::
|
|
|
|
* The System FindDb is *not* modified upon installation of MIOpen.
|
|
* There is a separate Find database for the HIP backend.
|
|
|
|
Populating User FindDb
|
|
=============================================================
|
|
|
|
MIOpen collects FindDb information during the following API calls:
|
|
|
|
* ``miopenFindConvolutionForwardAlgorithm()``
|
|
* ``miopenFindConvolutionBackwardDataAlgorithm()``
|
|
* ``miopenFindConvolutionBackwardWeightsAlgorithm()``
|
|
|
|
During the call, find data entries are collected for one specific "problem configuration", which is implicitly
|
|
defined by the tensor descriptors and convolution descriptor passed to the API function.
|
|
|
|
Updating MIOpen and User FindDb
|
|
=============================================================
|
|
|
|
When you install a new version of MIOpen, the new version ignores old User FindDb files. Therefore,
|
|
you don't need to move or delete the old User FindDb files.
|
|
|
|
To collect the previous information again into the new User FindDb, use the same steps you
|
|
followed in the previous version. Re-collecting information keeps immediate mode optimized.
|
|
|
|
Disabling FindDb
|
|
=============================================================
|
|
|
|
To disable FindDb, set the ``MIOPEN_DEBUG_DISABLE_FIND_DB`` environmental variable to ``1``:
|
|
|
|
.. code:: bash
|
|
|
|
export MIOPEN_DEBUG_DISABLE_FIND_DB=1
|
|
|
|
.. note::
|
|
|
|
System FindDb can be cached into memory, which might dramatically increase performance. To disable
|
|
this option, set the ``DMIOPEN_DEBUG_FIND_DB_CACHING`` CMake configuration flag to off.
|
|
|
|
.. code:: bash
|
|
|
|
-DMIOPEN_DEBUG_FIND_DB_CACHING=Off
|