CMake Options¶
Test Options¶
KokkosKernels_ENABLE_TESTS: BOOLWhether to build tests.
Default: OFF
KokkosKernels_TEST_ETI_ONLY: BOOLWhether to restrict testing to ETI types.
Default: ON
KokkosKernels_ENABLE_PERFTESTS: STRINGWhether to build performance tests
Default: OFF
KokkosKernels_ENABLE_TESTS_AND_PERFSUITE: BOOLWhether to build performance tests and suite.
Default: OFF
Examples Options¶
KokkosKernels_ENABLE_EXAMPLES: BOOLWhether 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: BOOLWhen
ON, allENABLE_COMPONENT_*flags are silently overridden toONregardless of their individual values.Default:
ON
Note
To build only a subset of components, set
KokkosKernels_ENABLE_ALL_COMPONENTS=OFFand then enable individual components with the flags below.KokkosKernels_ENABLE_COMPONENT_BATCHED: BOOLWhether to compile the Batched component.
Default:
OFF(ONwhenENABLE_ALL_COMPONENTS=ON)
KokkosKernels_ENABLE_COMPONENT_BLAS: BOOLWhether to compile the BLAS component.
Default:
OFF(ONwhenENABLE_ALL_COMPONENTS=ON)
KokkosKernels_ENABLE_COMPONENT_LAPACK: BOOLWhether to compile the LAPACK component.
Default:
OFF(ONwhenENABLE_ALL_COMPONENTS=ON)
KokkosKernels_ENABLE_COMPONENT_SPARSE: BOOLWhether to compile the Sparse component.
Default:
OFF(ONwhenENABLE_ALL_COMPONENTS=ON)Enabling SPARSE also enables BATCHED, BLAS, LAPACK, and GRAPH.
KokkosKernels_ENABLE_COMPONENT_GRAPH: BOOLWhether to compile the Graph component.
Default:
OFF(ONwhenENABLE_ALL_COMPONENTS=ON)Enabling GRAPH also enables SPARSE (and it’s dependencies).
KokkosKernels_ENABLE_COMPONENT_ODE: BOOLWhether to compile the ODE component.
Default:
OFF(ONwhenENABLE_ALL_COMPONENTS=ON)
Controlling Which Tests Are Registered¶
KokkosKernels_ENABLED_COMPONENTS: STRINGA 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:
ALLValid entries:
BATCHED,BLAS,LAPACK,GRAPH,SPARSE,ODE,ALLALLunconditionally 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_COMPONENTScontrols 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: BOOLWhether to pre instantiate kernels for the scalar type Kokkos::Experimental::half_t. Disabling this may increase build times
Default: OFF
KokkosKernels_INST_BHALF: BOOLWhether to pre instantiate kernels for the scalar type Kokkos::Experimental::bhalf_t. Disabling this may increase build times
Default: OFF
KokkosKernels_ETI_ONLY: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether to pre instantiate kernels for the view layout LayoutLeft. This option is
KokkosKernels_INST_LAYOUTLEFT=ONby default. Disabling this may increase build times.Default: ON
KokkosKernels_INST_LAYOUTRIGHT: BOOLWhether to pre instantiate kernels for the view layout LayoutRight. This option is
KokkosKernels_INST_LAYOUTRIGHT=OFFby default. Disabling this may increase build times.Default: OFF
KokkosKernels_INST_MEMSPACE_HOSTSPACE: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether 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: BOOLWhether to include a set of default ETI instantiations (otherwise only those explicitly requested will be included
Default: OFF
KokkosKernels_INST_EXECSPACE_CUDA: BOOLWhether to pre instantiate kernels for the execution space
Kokkos::Cuda. Disabling this whenKokkos_ENABLE_CUDAis enabled may increase build times.Default: ON if Kokkos is CUDA-enabled, OFF otherwise
KokkosKernels_INST_MEMSPACE_CUDAUVMSPACE: BOOLWhether to pre instantiate kernels for the memory space
Kokkos::CudaUVMSpace. Disabling this whenKokkos_ENABLE_CUDAis enabled may increase build times.Default: OFF.
KokkosKernels_INST_EXECSPACE_HIP: BOOLKokkosKernels_INST_MEMSPACE_HIPSPACE: BOOLKokkosKernels_INST_EXECSPACE_SYCL: BOOLKokkosKernels_INST_MEMSPACE_SYCLSPACE: BOOLKokkosKernels_INST_EXECSPACE_OPENMPTARGET: BOOLKokkosKernels_INST_MEMSPACE_OPENMPTARGETSPACE: BOOLKokkosKernels_INST_MEMSPACE_HBWSPACE: BOOL
Documentation Options¶
KokkosKernels_ENABLE_DOCS: BOOLWhether 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: BOOLWhether to build supernodal SPTRSV support
Default: ON
Generated using grep -r KOKKOSKERNELS_ADD_TPL_OPTION