Skip to main content
`Ctrl`+`K`

# PetscDeviceInitType

Initialization strategy for `PetscDevice`

## Synopsis

    #include <petscdevicetypes.h>
    typedef enum {
      PETSC_DEVICE_INIT_NONE,
      PETSC_DEVICE_INIT_LAZY,
      PETSC_DEVICE_INIT_EAGER
    } PetscDeviceInitType;

## Values

- `PETSC_DEVICE_INIT_NONE` - PetscDevice is never initialized

- `PETSC_DEVICE_INIT_LAZY` - PetscDevice is initialized on demand

- `PETSC_DEVICE_INIT_EAGER` - PetscDevice is initialized as soon as possible

## Note

`PETSC_DEVICE_INIT_NONE` implies that any initialization of `PetscDevice` is disallowed and doing so results in an error. Useful to ensure that no accelerator is used in a program.

## See Also

`PetscDevice`, `PetscDeviceType`, `PetscDeviceInitialize()`, `PetscDeviceInitialized()`, `PetscDeviceCreate()`

## Level

beginner

## Location

include/petscdevicetypes.h

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages