CMake Options

Test Options

  • KokkosKernels_ENABLE_TESTS: BOOL

    • Whether to build tests.

    • Default: OFF

  • KokkosKernels_TEST_ETI_ONLY: BOOL

    • Whether to restrict testing to ETI types.

    • Default: ON

  • KokkosKernels_ENABLE_PERFTESTS: STRING

    • Whether to build performance tests

    • Default: OFF

  • KokkosKernels_ENABLE_TESTS_AND_PERFSUITE: BOOL

    • Whether to build performance tests and suite.

    • Default: OFF

Examples Options

  • KokkosKernels_ENABLE_EXAMPLES: BOOL

    • Whether to build examples.

    • Default: OFF

Component Options

Component configuration is split across two independent mechanisms: one that controls which components are compiled into the library, and one that controls which component tests are enabled.

Controlling What Gets Compiled

  • KokkosKernels_ENABLE_ALL_COMPONENTS: BOOL

    • When ON, all ENABLE_COMPONENT_* flags are silently overridden to ON regardless of their individual values.

    • Default: ON

    Note

    To build only a subset of components, set KokkosKernels_ENABLE_ALL_COMPONENTS=OFF and then enable individual components with the flags below.

  • KokkosKernels_ENABLE_COMPONENT_BATCHED: BOOL

    • Whether to compile the Batched component.

    • Default: OFF (ON when ENABLE_ALL_COMPONENTS=ON)

  • KokkosKernels_ENABLE_COMPONENT_BLAS: BOOL

    • Whether to compile the BLAS component.

    • Default: OFF (ON when ENABLE_ALL_COMPONENTS=ON)

  • KokkosKernels_ENABLE_COMPONENT_LAPACK: BOOL

    • Whether to compile the LAPACK component.

    • Default: OFF (ON when ENABLE_ALL_COMPONENTS=ON)

  • KokkosKernels_ENABLE_COMPONENT_SPARSE: BOOL

    • Whether to compile the Sparse component.

    • Default: OFF (ON when ENABLE_ALL_COMPONENTS=ON)

    • Enabling SPARSE also enables BATCHED, BLAS, LAPACK, and GRAPH.

  • KokkosKernels_ENABLE_COMPONENT_GRAPH: BOOL

    • Whether to compile the Graph component.

    • Default: OFF (ON when ENABLE_ALL_COMPONENTS=ON)

    • Enabling GRAPH also enables SPARSE (and it’s dependencies).

  • KokkosKernels_ENABLE_COMPONENT_ODE: BOOL

    • Whether to compile the ODE component.

    • Default: OFF (ON when ENABLE_ALL_COMPONENTS=ON)

Controlling Which Tests Are Registered

  • KokkosKernels_ENABLED_COMPONENTS: STRING

    • A semicolon-separated list of component names whose tests enabled. Tests that declare a required component not present in this list are silently skipped during CMake configuration.

    • Default: ALL

    • Valid entries: BATCHED, BLAS, LAPACK, GRAPH, SPARSE, ODE, ALL

    • ALL unconditionally registers every component’s tests.

    • Example - register only BLAS and Sparse tests:

      -DKokkosKernels_ENABLED_COMPONENTS="BLAS;SPARSE"
      

Interaction Between the Two Mechanisms

ENABLED_COMPONENTS (STRING) and the ENABLE_COMPONENT_* / ENABLE_ALL_COMPONENTS BOOLs are completely independent of each other.

  • ENABLED_COMPONENTS controls test registration. It has no effect on which library source files are compiled.

  • The ENABLE_COMPONENT_* BOOLs only control compilation. They do not affect which tests are registered.

ETI Options

  • KokkosKernels_INST_HALF: BOOL

    • Whether to pre instantiate kernels for the scalar type Kokkos::Experimental::half_t. Disabling this may increase build times

    • Default: OFF

  • KokkosKernels_INST_BHALF: BOOL

    • Whether to pre instantiate kernels for the scalar type Kokkos::Experimental::bhalf_t. Disabling this may increase build times

    • Default: OFF

  • KokkosKernels_ETI_ONLY: BOOL

    • Whether to restrict availability of kernels to ETI types only. Turning this on guarantees that kernels are never built inside of object files which simply call KokkosKernels functions.

    • Default: OFF

  • KokkosKernels_INST_COMPLEX_DOUBLE: BOOL

    • Whether to pre instantiate kernels for the scalar type complex<double>. Disabling this may increase build times.

    • Default: OFF or unless enabled during a Trilinos build with Trilinos_ENABLE_COMPLEX_DOUBLE.

  • KokkosKernels_INST_COMPLEX_FLOAT: BOOL

    • Whether to pre instantiate kernels for the scalar type complex<float>. Disabling this may increase build times.

    • Default: OFF or unless enabled during a Trilinos build with Trilinos_ENABLE_COMPLEX_FLOAT.

  • KokkosKernels_INST_DOUBLE: BOOL

    • Whether to pre instantiate kernels for the scalar type double. This option is KokkosKernels_INST_DOUBLE=ON by default. Disabling this may increase build times.

    • Default: ON

  • KokkosKernels_INST_EXECSPACE_OPENMP: BOOL

    • Whether to pre instantiate kernels for the execution space Kokkos::OpenMP. Disabling this when Kokkos_ENABLE_OpenMP is enabled may increase build times.

    • Default: ON if Kokkos is OpenMP-enabled, OFF otherwise.

  • KokkosKernels_INST_EXECSPACE_SERIAL: BOOL

    • Whether to build kernels for the execution space Kokkos::Serial. If explicit template instantiation (ETI) is enabled in Trilinos, disabling this when Kokkos_ENABLE_SERIAL is enabled may increase build times.

    • Default: ON when Kokkos is Serial-enabled, OFF otherwise.

  • KokkosKernels_INST_EXECSPACE_THREADS: BOOL

    • Whether to build kernels for the execution space Kokkos::Threads. If explicit template instantiation (ETI) is enabled in Trilinos, disabling this when Kokkos_ENABLE_PTHREAD is enabled may increase build times.

    • Default: ON if Kokkos is Threads-enabled, OFF otherwise.

  • KokkosKernels_INST_FLOAT: BOOL

    • Whether to pre instantiate kernels for the scalar type float. Disabling this may increase build times.

    • Default: OFF or unless enabled during a Trilinos build with Trilinos_ENABLE_FLOAT.

  • KokkosKernels_INST_LAYOUTLEFT: BOOL

    • Whether to pre instantiate kernels for the view layout LayoutLeft. This option is KokkosKernels_INST_LAYOUTLEFT=ON by default. Disabling this may increase build times.

    • Default: ON

  • KokkosKernels_INST_LAYOUTRIGHT: BOOL

    • Whether to pre instantiate kernels for the view layout LayoutRight. This option is KokkosKernels_INST_LAYOUTRIGHT=OFF by default. Disabling this may increase build times.

    • Default: OFF

  • KokkosKernels_INST_MEMSPACE_HOSTSPACE: BOOL

    • Whether to pre instantiate kernels for the memory space Kokkos::HostSpace. Disabling this when one of the Host execution spaces is enabled may increase build times.

    • Default: ON

  • KokkosKernels_INST_OFFSET_INT: BOOL

    • Whether to pre instantiate kernels for the offset type int. This option is KokkosKernels_INST_OFFSET_INT=ON by default.

    • Default: ON

  • KokkosKernels_INST_OFFSET_SIZE_T: BOOL

    • Whether to pre instantiate kernels for the offset type size_t. This option is KokkosKernels_INST_OFFSET_SIZE_T=OFF by default.

    • Default: ON

  • KokkosKernels_INST_ORDINAL_INT: BOOL

    • Whether to pre instantiate kernels for the ordinal type int. This option is KokkosKernels_INST_ORDINAL_INT=ON by default.

    • Default: ON

  • KokkosKernels_INST_ORDINAL_INT64_T: BOOL

    • Whether to pre instantiate kernels for the ordinal type int64_t. This option is KokkosKernels_INST_ORDINAL_INT64_T=OFF by default.

    • Default: OFF

  • KokkosKernels_ADD_DEFAULT_ETI: BOOL

    • Whether to include a set of default ETI instantiations (otherwise only those explicitly requested will be included

    • Default: OFF

  • KokkosKernels_INST_EXECSPACE_CUDA: BOOL

    • Whether to pre instantiate kernels for the execution space Kokkos::Cuda. Disabling this when Kokkos_ENABLE_CUDA is enabled may increase build times.

    • Default: ON if Kokkos is CUDA-enabled, OFF otherwise

  • KokkosKernels_INST_MEMSPACE_CUDAUVMSPACE: BOOL

    • Whether to pre instantiate kernels for the memory space Kokkos::CudaUVMSpace. Disabling this when Kokkos_ENABLE_CUDA is enabled may increase build times.

    • Default: OFF.

  • KokkosKernels_INST_EXECSPACE_HIP: BOOL

  • KokkosKernels_INST_MEMSPACE_HIPSPACE: BOOL

  • KokkosKernels_INST_EXECSPACE_SYCL: BOOL

  • KokkosKernels_INST_MEMSPACE_SYCLSPACE: BOOL

  • KokkosKernels_INST_EXECSPACE_OPENMPTARGET: BOOL

  • KokkosKernels_INST_MEMSPACE_OPENMPTARGETSPACE: BOOL

  • KokkosKernels_INST_MEMSPACE_HBWSPACE: BOOL

Documentation Options

  • KokkosKernels_ENABLE_DOCS: BOOL

    • Whether to build documentation

    • Default: OFF

Other Options

  • KokkosKernels_ENABLE_EXPERIMENTAL: BOOL

    • Enable building and installation of experimental KokkosKernels features.

    • Default: OFF

  • KokkosKernels_LINALG_OPT_LEVEL: BOOL

    • Optimization level for KokkosKernels computational kernels: a nonnegative integer. Higher levels result in better performance that is more uniform for corner cases, but increase build time and library size. The default value is 1, which should give performance within ten percent of optimal on most platforms, for most problems.

    • Default: 1

  • KokkosKernels_ENABLE_SUPERNODAL_SPTRSV: BOOL

    • Whether to build supernodal SPTRSV support

    • Default: ON

Generated using grep -r KOKKOSKERNELS_ADD_TPL_OPTION