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
69 lines
3.1 KiB
ReStructuredText
69 lines
3.1 KiB
ReStructuredText
.. meta::
|
|
:description: Using the MIOpen kernel cache
|
|
:keywords: MIOpen, ROCm, API, documentation, kernel cache
|
|
|
|
********************************************************************
|
|
Kernel cache
|
|
********************************************************************
|
|
|
|
MIOpen caches binary kernels to disk so they don't need to be compiled the next time you run the
|
|
application. This cache is stored in ``$HOME/.cache/miopen`` by default, but you can change this at
|
|
build time by setting the ``MIOPEN_CACHE_DIR`` CMake variable.
|
|
|
|
Clear the cache
|
|
====================================================
|
|
|
|
You can clear the cache by deleting the cache directory (for example, ``$HOME/.cache/miopen``). However,
|
|
you should only do this for development purposes or to free disk space. You don't need to
|
|
clear the cache when upgrading MIOpen.
|
|
|
|
Disabling the cache
|
|
====================================================
|
|
|
|
Disabling the cache is generally useful for development purposes. You can disable the cache
|
|
in this following situations:
|
|
|
|
* During the build, either set ``MIOPEN_CACHE_DIR`` to an empty string or set
|
|
``BUILD_DEV=ON`` when configuring CMake.
|
|
* At runtime, set the ``MIOPEN_DISABLE_CACHE`` environment variable to ``true``.
|
|
|
|
Updating MIOpen and removing the cache
|
|
===============================================================
|
|
|
|
For MIOpen version 2.4 and later, MIOpen's kernel cache directory is versioned, so any existing cached kernels
|
|
won't collide when upgrading.
|
|
|
|
.. note::
|
|
|
|
For MIOpen version 2.3 and earlier, if the compiler changes or you modify the kernels, then you must
|
|
delete the cache for the existing MIOpen version using the command
|
|
``rm -rf $HOME/.cache/miopen/<miopen-version-number>``.
|
|
|
|
Installing precompiled kernels
|
|
====================================================
|
|
|
|
GPU architecture-specific, precompiled kernel packages are available in the ROCm package
|
|
repositories. These packages reduce the startup latency of MIOpen kernels. They contain a kernel cache file,
|
|
which they install in the ROCm installation directory along with other MIOpen artifacts. When MIOpen launches a
|
|
kernel, it first checks for a kernel in the kernel cache within the MIOpen installation directory. If
|
|
the file doesn't exist, or the required kernel isn't found, it compiles the kernel and places it in the
|
|
kernel cache.
|
|
|
|
These packages are optional and must be separately installed from MIOpen. To conserve
|
|
disk space, you can choose not to install these packages (which would result in higher
|
|
startup latency). You also have the option to only install kernel packages for your device architecture,
|
|
which helps save disk space.
|
|
|
|
If the MIOpen kernels package is not installed, or if the kernel doesn't match the GPU, you'll get a
|
|
warning message similar to:
|
|
|
|
.. code:: bash
|
|
|
|
> MIOpen: Warning [SQLiteBase] Missing system database file:gfx906_60.kdb Performance may degrade
|
|
|
|
The performance degradation mentioned in the warning only affects the network start-up time (the
|
|
"initial iteration time") and can be safely ignored.
|
|
|
|
Refer to the :doc:`installation instructions <../install/install>` for guidance on installing the MIOpen
|
|
kernels package.
|