InitializationSettings¶
Defined in header <KokkosCore.cpp>
Usage¶
auto settings = Kokkos::InitializationSettings()
.set_num_threads(8)
.set_device_id(0)
.set_disable_warnings(false);
InitializationSettings is a class that can be used to define the settings
for initializing Kokkos programmatically without having to call the two
parameter form (argc and argv) of initialize().
Interface¶
-
class InitializationSettings¶
-
InitializationSettings();¶
Constructs a new object that does not contain any value for any of the settings.
-
InitializationSettings &set_PARAMETER_NAME(PARAMETER_TYPE value);¶
Replaces the content of the
PARAMETER_NAMEsetting withvalueand return a reference to the object.valuemust be a valid value forPARAMETER_NAME.
-
bool has_PARAMETER_NAME() const;¶
Checks whether the object contains a value for the
PARAMETER_NAMEsetting. Returnstrueif it contains a value,falseotherwise.
-
PARAMETER_TYPE get_PARAMETER_NAME() const;¶
Accesses the contained value for the
PARAMETER_NAMEsetting. The behavior is undefined if the object does not contain a value for settingPARAMETER_NAME.
-
InitializationSettings();¶
The table below summarizes what settings are available.
PARAMETER_NAME |
PARAMETER_TYPE |
Description |
|---|---|---|
|
|
Number of threads to use with the host parallel backend. Must be greater than zero. |
|
|
Device to use with the device parallel backend. Valid IDs are zero to number of GPU(s) available for execution minus one. |
|
|
Strategy to select a device automatically from the GPUs available for execution. Must be either |
|
|
Whether to disable warning messages. |
|
|
Whether to print the configuration after initialization. |
|
|
Whether to allow autotuning internals instead of using heuristics. |
|
|
Which tool dynamic library to load. Must either be the full path to library or the name of library if the path is present in the runtime library search path (e.g. |
|
|
Query the loaded tool for its command-line options support. |
|
|
Options to pass to the loaded tool as command-line arguments. |
Example¶
#include <Kokkos_Core.hpp>
int main() {
Kokkos::initialize(Kokkos::InitializationSettings()
.set_print_configuration(true)
.set_map_device_id_by("random")
.set_num_threads(1));
// ...
Kokkos::finalize();
}
See also
- initialize
Start the Kokkos execution environment.
- ScopeGuard
A RAII-based approach to ensure initialization and finalization are handled correctly.