Stokhos Package Browser (Single Doxygen Collection)
Version of the Day
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
sacado
kokkos
vector
tpetra
Stokhos_Tpetra_MP_Vector.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Stokhos Package
4
//
5
// Copyright 2009 NTESS and the Stokhos contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef STOKHOS_TPETRA_MP_VECTOR_HPP
11
#define STOKHOS_TPETRA_MP_VECTOR_HPP
12
13
// This header file should be included whenever compiling any Tpetra
14
// code with Stokhos scalar types
15
16
// MP includes and specializations
17
#include "
Stokhos_Sacado_Kokkos_MP_Vector.hpp
"
18
19
// Kokkos includes
20
#include "Tpetra_ConfigDefs.hpp"
21
#include "Kokkos_Core.hpp"
22
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT)
23
#include <Tpetra_KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
24
#include "KokkosCompat_View.hpp"
25
#include "KokkosCompat_View_def.hpp"
26
#endif
27
28
// Kokkos-Linalg
29
#include "
Kokkos_ArithTraits_MP_Vector.hpp
"
30
#include "
Kokkos_InnerProductSpaceTraits_MP_Vector.hpp
"
31
#include "
Kokkos_MV_MP_Vector.hpp
"
32
33
// Order may be important here because Cuda provides a slightly more
34
// specialized version of MV_Multiply() for a single column
35
#include "
Kokkos_CrsMatrix_MP_Vector_Cuda.hpp
"
36
#include "
Kokkos_CrsMatrix_MP_Vector.hpp
"
37
38
#include "
Kokkos_TeuchosCommAdapters_MP_Vector.hpp
"
39
#include "
Tpetra_KokkosRefactor_Details_MultiVectorDistObjectKernels_MP_Vector.hpp
"
40
#include "
Tpetra_KokkosRefactor_Details_MultiVectorLocalDeepCopy_MP_Vector.hpp
"
41
#include "
Tpetra_Details_fill_MP_Vector.hpp
"
42
#include "
Kokkos_Random_MP_Vector.hpp
"
43
44
#include "
KokkosBlas_MP_Vector.hpp
"
45
46
namespace
Stokhos {
47
54
template
<
typename
Node>
55
struct
DeviceForNode
{
56
#if defined(KOKKOS_ENABLE_SERIAL)
57
// Prefer the Kokkos::Serial execution space if it exists.
58
typedef
Kokkos::Serial
type
;
59
#else
60
// If the Kokkos::Serial execution space does not exist, use the
61
// default host execution space. Kokkos::HostSpace (the host memory
62
// space) always exists, and it always has an execution_space
63
// typedef, which corresponds to the default host execution space.
64
typedef
Kokkos::HostSpace::execution_space
type
;
65
#endif // defined(KOKKOS_ENABLE_SERIAL)
66
};
67
68
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT)
69
template
<
typename
ExecSpace,
typename
MemSpace>
73
struct
DeviceForNode
< Tpetra::KokkosCompat::KokkosDeviceWrapperNode<ExecSpace, MemSpace> > {
74
typedef
typename
Tpetra::KokkosCompat::KokkosDeviceWrapperNode<ExecSpace, MemSpace>::device_type
type
;
75
};
76
#endif
77
78
}
79
80
#endif // STOKHOS_TPETRA_MP_VECTOR_HPP
Tpetra_KokkosRefactor_Details_MultiVectorLocalDeepCopy_MP_Vector.hpp
Kokkos_TeuchosCommAdapters_MP_Vector.hpp
DynamicVecTest::execution_space
Kokkos::DefaultExecutionSpace execution_space
Definition:
Stokhos_SacadoMPVectorCommTests.cpp:651
Stokhos_Sacado_Kokkos_MP_Vector.hpp
Stokhos::DeviceForNode
Trait class that determines (new) Kokkos execution space type from Kokkos(Classic) Node type...
Definition:
Stokhos_Tpetra_MP_Vector.hpp:55
Kokkos_CrsMatrix_MP_Vector_Cuda.hpp
Tpetra_Details_fill_MP_Vector.hpp
Kokkos_ArithTraits_MP_Vector.hpp
Kokkos_CrsMatrix_MP_Vector.hpp
KokkosBlas_MP_Vector.hpp
Tpetra_KokkosRefactor_Details_MultiVectorDistObjectKernels_MP_Vector.hpp
Kokkos_Random_MP_Vector.hpp
Stokhos::DeviceForNode::type
Kokkos::HostSpace::execution_space type
Definition:
Stokhos_Tpetra_MP_Vector.hpp:64
Kokkos_InnerProductSpaceTraits_MP_Vector.hpp
Kokkos_MV_MP_Vector.hpp
Generated on Fri Nov 22 2024 09:18:15 for Stokhos Package Browser (Single Doxygen Collection) by
1.8.5