initialize

Defined in header <Kokkos_Core.hpp>

Usage

Kokkos::initialize(argc, argv);
Kokkos::initialize(Kokkos::InitializationSettings()
                       .set_disable_warnings(true)
                       .set_num_threads(8)
                       .set_map_device_id_by("random"));
Kokkos::initialize();

Initializes the Kokkos execution environment. This function must be called before any other Kokkos API functions or constructors. There are a small number of exceptions, such as is_initialized() or is_finalized(). Kokkos can be initialized at most once; subsequent calls are erroneous.

The function has two overloads. The first one takes the same two parameters as main() corresponding to the command line arguments passed to the program from the environment in which the program is run. Kokkos parses the arguments for the flags that it recognizes. Whenever a Kokkos flag is seen, it is removed from argv, and argc is decremented. The second one takes a InitializationSettings class object which allows for programmatic control of arguments.

Interface

void initialize(int &argc, char *argv[]);
void initialize(const InitializationSettings &settings = {});
Parameters:
  • argc – Non-negative value, representing the number of command line arguments passed to the program.

  • argv – Pointer to the first element of an array of argc + 1 pointers, of which the last one is null and the previous, if any, point to null-terminated multibyte strings that represent the arguments passed to the program.

  • settingsclass object that contains settings to control the initialization of Kokkos.

Preconditions:

Note

Important

Kokkos::initialize generally should be called after MPI_Init when Kokkos is initialized within an MPI context.

Example

#include <Kokkos_Core.hpp>

int main(int argc, char* argv[]) {
    Kokkos::initialize(argc, argv);
    {  // scope to ensure that my_view destructor is called before Kokkos::finalize
        Kokkos::View<double*> my_view("my_view", 10);
    }  // scope of my_view ends here
    Kokkos::finalize();
}

See also

See also

finalize

Terminate the Kokkos execution environment.

ScopeGuard

A RAII-based approach to ensure initialization and finalization are handled correctly.

is_initialized and is_finalized

Query the current state of the Kokkos execution environment.