Skip to content

Commit

Permalink
Re-add 2x missing CMake IMPL_ flags to the Wiki (#585)
Browse files Browse the repository at this point in the history
* Add ccmake recommendation

* Re-add Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC

* Re-add Kokkos_ENABLE_IMPL_HPX_ASYNC_DISPATCH

* Add warning about IMPL flags

* The --> Your

* Update docs/source/keywords.rst

Co-authored-by: Damien L-G <dalg24+github@gmail.com>

* Update docs/source/keywords.rst

Co-authored-by: Damien L-G <dalg24+github@gmail.com>

* Update docs/source/keywords.rst

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>

* Update docs/source/keywords.rst

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>

* Update docs/source/keywords.rst

Co-authored-by: Daniel Arndt <arndtd@ornl.gov>

* Elevate note on IMPL keywords to the top

* Change link to Wiki, not github PR

* Fix link

* Improve changes

* typo

---------

Co-authored-by: Damien L-G <dalg24+github@gmail.com>
Co-authored-by: Daniel Arndt <arndtd@ornl.gov>
Co-authored-by: Damien L-G <dalg24@gmail.com>
  • Loading branch information
4 people authored Sep 28, 2024
1 parent 0df06df commit 0443e79
Showing 1 changed file with 25 additions and 1 deletion.
26 changes: 25 additions & 1 deletion docs/source/keywords.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@ CMake Keywords

Recall that to set a keyword in CMake you used the syntax ``-Dkeyword_name=value``.

.. note::
The ``ccmake`` graphical user interface offers a convenient way to explore
available CMake options and their current values. It may be more up to date
with the Kokkos version that you are using.
**A word of warning:** variables with names containing ``IMPL`` are private
implementation details. Avoid modifying these unless you have a deep
understanding of their implications and are aware that they might change
without notice.


This page is organized in four sections:

Expand Down Expand Up @@ -206,6 +215,13 @@ Backend-specific options
* Use unified memory (UM) by default for CUDA
* ``OFF``

* * ``Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC``
* Use ``cudaMallocAsync`` (requires CUDA Toolkit version 11.2 or higher). This
optimization may improve performance in applications with multiple CUDA streams per device, but it
is known to be incompatible with MPI distributions built on older versions of UCX
and many Cray MPICH instances. See `known issues <known-issues.html#cuda>`_.
* (see below)

* * ``Kokkos_ENABLE_HIP_MULTIPLE_KERNEL_INSTANTIATIONS``
* Instantiate multiple kernels at compile time - improve performance but increase compile time
* ``OFF``
Expand All @@ -217,10 +233,18 @@ Backend-specific options
* * ``Kokkos_ENABLE_ATOMICS_BYPASS``
* Disable atomics when no host parallel nor device backend is enabled for Serial only builds (since Kokkos 4.3)
* ``OFF``


* * ``Kokkos_ENABLE_IMPL_HPX_ASYNC_DISPATCH``
* Enable asynchronous dispatch for the HPX backend
* ``ON``


``Kokkos_ENABLE_CUDA_LAMBDA`` default value is ``OFF`` until 3.7 and ``ON`` since 4.0

``Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC`` default value is ``OFF`` except in 4.2, 4.3, and 4.4



Development
-----------
These are intended for developers of Kokkos. If you are a user, you probably
Expand Down

0 comments on commit 0443e79

Please sign in to comment.