Fix one-time overheads section
@@ -44,6 +44,7 @@ synchronizing over the end event (see :ref:`cuda_stream_event` for detail). Belo
Additionally, :func:`cupyx.profiler.benchmark` runs a few warm-up runs to reduce timing fluctuation and exclude the overhead in first invocations.
+
One-Time Overheads
~~~~~~~~~~~~~~~~~~
@@ -58,13 +59,14 @@ This is because CUDA driver creates a CUDA context during the first CUDA API cal
Kernel Compilation
..................
-CuPy uses on-the-fly kernel synthesis; when a kernel call is required, it compiles a kernel code optimized for the shapes and dtypes of given arguments, sends it to the GPU device, and executes the kernel.
+CuPy uses on-the-fly kernel synthesis. When a kernel call is required, it compiles a kernel code optimized for the dimensions and dtypes of the given arguments, sends them to the GPU device, and executes the kernel.
-CuPy caches the kernel code sent to GPU device within the process, which reduces the kernel transfer time on further calls.
+CuPy caches the kernel code sent to GPU device within the process, which reduces the kernel compilation time on further calls.
-The compiled code is also cached to ``${HOME}/.cupy/kernel_cache`` directory (the path can be overwritten by setting the ``CUPY_CACHE_DIR`` environment variable).
+The compiled code is also cached in the directory ``${HOME}/.cupy/kernel_cache`` (the path can be overwritten by setting the :envvar:`CUPY_CACHE_DIR` environment variable).
This allows reusing the compiled kernel binary across the process.
+
In-depth profiling
------------------
