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
//
4
// Stokhos Package
5
// Copyright (2009) Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Eric T. Phipps (etphipp@sandia.gov).
38
//
39
// ***********************************************************************
40
// @HEADER
41
42
#ifndef STOKHOS_TPETRA_MP_VECTOR_HPP
43
#define STOKHOS_TPETRA_MP_VECTOR_HPP
44
45
// This header file should be included whenever compiling any Tpetra
46
// code with Stokhos scalar types
47
48
// MP includes and specializations
49
#include "
Stokhos_Sacado_Kokkos_MP_Vector.hpp
"
50
51
// Kokkos includes
52
#include "Tpetra_ConfigDefs.hpp"
53
#include "Kokkos_Core.hpp"
54
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT)
55
#include "Kokkos_BufferMacros.hpp"
56
#include "KokkosCompat_ClassicNodeAPI_Wrapper.hpp"
57
#include "KokkosCompat_View.hpp"
58
#include "KokkosCompat_View_def.hpp"
59
#endif
60
61
// Kokkos-Linalg
62
#if defined(TPETRA_HAVE_KOKKOS_REFACTOR)
63
#include "
Kokkos_ArithTraits_MP_Vector.hpp
"
64
#include "
Kokkos_InnerProductSpaceTraits_MP_Vector.hpp
"
65
#include "
Kokkos_MV_MP_Vector.hpp
"
66
67
// Order may be important here because Cuda provides a slightly more
68
// specialized version of MV_Multiply() for a single column
69
#include "
Kokkos_CrsMatrix_MP_Vector_Cuda.hpp
"
70
#include "
Kokkos_CrsMatrix_MP_Vector.hpp
"
71
72
#include "
Kokkos_TeuchosCommAdapters_MP_Vector.hpp
"
73
#include "
Tpetra_KokkosRefactor_Details_MultiVectorDistObjectKernels_MP_Vector.hpp
"
74
#include "
Tpetra_KokkosRefactor_Details_MultiVectorLocalDeepCopy_MP_Vector.hpp
"
75
#include "
Tpetra_Details_fill_MP_Vector.hpp
"
76
#include "
Kokkos_Random_MP_Vector.hpp
"
77
#endif
78
79
#include "
KokkosBlas_MP_Vector.hpp
"
80
81
namespace
Stokhos {
82
89
template
<
typename
Node>
90
struct
DeviceForNode
{
91
#if defined(KOKKOS_ENABLE_SERIAL)
92
// Prefer the Kokkos::Serial execution space if it exists.
93
typedef
Kokkos::Serial
type
;
94
#else
95
// If the Kokkos::Serial execution space does not exist, use the
96
// default host execution space. Kokkos::HostSpace (the host memory
97
// space) always exists, and it always has an execution_space
98
// typedef, which corresponds to the default host execution space.
99
typedef
Kokkos::HostSpace::execution_space
type
;
100
#endif // defined(KOKKOS_ENABLE_SERIAL)
101
};
102
103
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT)
104
template
<
typename
Device>
108
struct
DeviceForNode
< Kokkos::Compat::KokkosDeviceWrapperNode<Device> > {
109
typedef
Device
type
;
110
};
111
#endif
112
113
}
114
115
#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:682
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:90
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:99
Kokkos_InnerProductSpaceTraits_MP_Vector.hpp
Kokkos_MV_MP_Vector.hpp
Generated by
1.8.5