Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Tpetra_Details_Behavior.cpp File Reference
#include <algorithm>
#include <array>
#include <cctype>
#include <cstdlib>
#include <functional>
#include <map>
#include <stdexcept>
#include <string>
#include <string_view>
#include <vector>
#include "Teuchos_OrdinalTraits.hpp"
#include "Teuchos_TestForException.hpp"
#include "TpetraCore_config.h"
#include "Tpetra_Details_Behavior.hpp"
#include "KokkosKernels_config.h"

Go to the source code of this file.


 Namespace Tpetra contains the class and methods constituting the Tpetra library.
 Nonmember function that computes a residual Computes R = B - A * X.

Detailed Description

This file is primarily concerned with providing programmatic access to certain environment variables. The variable is evaluated on first access, and the data is cached to provide the same result on future accesses even if the underlying environment has changed.

There are boolean variables:

TPETRA_ENV_VAR=1|ON|YES|TRUE <lower or="" upper="" case>=""> TPETRA_ENV_VAR=0|OFF|NO|FALSE <lower or="" upper="" case>="">

There are size_t variables (negative values are max size_t)

TPETRA_ENV_VAR=XXXXX <XXXX is parsed as a long long, then cast to size_t>

There are "named" boolean variables, where multiple names are associated with the variable.


If a name is queried for a variable, and it was provided, the result is true. Else false.

There are also two special cases:

CUDA_LAUNCH_BLOCKING is not prefixed with "TPETRA_" but is otherwise a boolean variable

MM_TAFC_OptimizationCoreCount is not prefixed with "TPETRA_", and is parsed as an int instead of a long long

Definition in file Tpetra_Details_Behavior.cpp.