Compadre 1.6.4
Loading...
Searching...
No Matches
Namespaces | Macros | Typedefs | Functions | Variables
Compadre_Typedefs.hpp File Reference
#include "Compadre_Config.h"
#include <Kokkos_Core.hpp>
#include <Kokkos_Random.hpp>
#include <type_traits>
#include <vector>
#include <sstream>
#include <cstddef>
#include <functional>
#include <string>

Go to the source code of this file.

Namespaces

namespace  Compadre
 

Macros

#define TO_GLOBAL(variable)   ((global_index_type)variable)
 
#define compadre_assert_release(condition)
 compadre_assert_release is used for assertions that should always be checked, but generally are not expensive to verify or are not called frequently.
 
#define compadre_kernel_assert_release(condition)
 compadre_kernel_assert_release is similar to compadre_assert_release, but is a call on the device, namely inside of a function marked KOKKOS_INLINE_FUNCTION
 
#define compadre_assert_debug(condition)
 compadre_assert_debug is used for assertions that are checked in loops, as these significantly impact performance.
 
#define compadre_kernel_assert_debug(condition)
 
#define compadre_assert_extreme_debug(condition)
 compadre_kernel_assert_debug is similar to compadre_assert_debug, but is a call on the device, namely inside of a function marked KOKKOS_INLINE_FUNCTION
 
#define compadre_kernel_assert_extreme_debug(condition)
 

Typedefs

typedef double Compadre::scalar_type
 
typedef int Compadre::local_index_type
 
typedef std::size_t Compadre::global_index_type
 
typedef Kokkos::DefaultHostExecutionSpace Compadre::host_execution_space
 
typedef Kokkos::DefaultExecutionSpace Compadre::device_execution_space
 
typedef host_execution_space::memory_space Compadre::host_memory_space
 
typedef device_execution_space::memory_space Compadre::device_memory_space
 
typedef Kokkos::TeamPolicy< device_execution_spaceCompadre::team_policy
 
typedef team_policy::member_type Compadre::member_type
 
typedef Kokkos::TeamPolicy< host_execution_spaceCompadre::host_team_policy
 
typedef host_team_policy::member_type Compadre::host_member_type
 
typedef Kokkos::LayoutRight Compadre::layout_right
 
typedef Kokkos::LayoutLeft Compadre::layout_left
 
typedef Kokkos::View< double **, layout_right, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::scratch_matrix_right_type
 
typedef Kokkos::View< double **, layout_left, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::scratch_matrix_left_type
 
typedef Kokkos::View< double *, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::scratch_vector_type
 
typedef Kokkos::View< int *, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::scratch_local_index_type
 
typedef Kokkos::View< double **, layout_right, host_execution_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::host_scratch_matrix_right_type
 
typedef Kokkos::View< double **, layout_left, host_execution_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::host_scratch_matrix_left_type
 
typedef Kokkos::View< double *, host_execution_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::host_scratch_vector_type
 
typedef Kokkos::View< int *, host_execution_space, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Compadre::host_scratch_local_index_type
 
typedef Kokkos::View< double **, layout_right, device_memory_spaceCompadre::device_managed_matrix_right_type
 
typedef Kokkos::View< double **, layout_left, device_memory_spaceCompadre::device_managed_matrix_left_type
 
typedef Kokkos::View< double *, device_memory_spaceCompadre::device_managed_vector_type
 
typedef Kokkos::View< int *, device_memory_spaceCompadre::device_managed_local_index_type
 
typedef Kokkos::View< double **, layout_right, host_execution_spaceCompadre::host_managed_matrix_right_type
 
typedef Kokkos::View< double **, layout_left, host_execution_spaceCompadre::host_managed_matrix_left_type
 
typedef Kokkos::View< double *, host_execution_spaceCompadre::host_managed_vector_type
 
typedef Kokkos::View< int *, host_execution_spaceCompadre::host_managed_local_index_type
 
typedef Kokkos::Random_XorShift64_Pool Compadre::pool_type
 
typedef pool_type::generator_type Compadre::generator_type
 
using Compadre::KokkosInitArguments = Kokkos::InitializationSettings
 
template<bool B, class T = void>
using Compadre::enable_if_t = typename std::enable_if< B, T >::type
 

Functions

template<typename T >
std::enable_if< 1==T::rank, T >::type Compadre::createView (std::string str, int dim_0, int dim_1)
 
template<typename T >
std::enable_if< 2==T::rank, T >::type Compadre::createView (std::string str, int dim_0, int dim_1)
 

Variables

constexpr char Compadre::KOKKOS_THREADS_ARG [] = "--kokkos-num-threads"
 

Macro Definition Documentation

◆ compadre_assert_debug

#define compadre_assert_debug (   condition)

compadre_assert_debug is used for assertions that are checked in loops, as these significantly impact performance.

When NDEBUG is set, these conditions are not checked.

Definition at line 162 of file Compadre_Typedefs.hpp.

◆ compadre_assert_extreme_debug

#define compadre_assert_extreme_debug (   condition)

compadre_kernel_assert_debug is similar to compadre_assert_debug, but is a call on the device, namely inside of a function marked KOKKOS_INLINE_FUNCTION

Definition at line 182 of file Compadre_Typedefs.hpp.

◆ compadre_assert_release

#define compadre_assert_release (   condition)
Value:
do { \
if ( ! (condition)) { \
std::stringstream _ss_; \
_ss_ << __FILE__ << ":" << __LINE__ << ": FAIL:\n" << #condition \
<< "\n"; \
throw std::logic_error(_ss_.str()); \
} \
} while (0)

compadre_assert_release is used for assertions that should always be checked, but generally are not expensive to verify or are not called frequently.


Definition at line 130 of file Compadre_Typedefs.hpp.

◆ compadre_kernel_assert_debug

#define compadre_kernel_assert_debug (   condition)

Definition at line 163 of file Compadre_Typedefs.hpp.

◆ compadre_kernel_assert_extreme_debug

#define compadre_kernel_assert_extreme_debug (   condition)

Definition at line 183 of file Compadre_Typedefs.hpp.

◆ compadre_kernel_assert_release

#define compadre_kernel_assert_release (   condition)
Value:
do { \
if ( ! (condition)) \
Kokkos::abort(#condition); \
} while (0)

compadre_kernel_assert_release is similar to compadre_assert_release, but is a call on the device, namely inside of a function marked KOKKOS_INLINE_FUNCTION

Definition at line 141 of file Compadre_Typedefs.hpp.

◆ TO_GLOBAL

#define TO_GLOBAL (   variable)    ((global_index_type)variable)

Definition at line 39 of file Compadre_Typedefs.hpp.