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
pce
tpetra
Stokhos_Tpetra_ETI_Helpers_UQ_PCE.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
// UQ::PCE includes
11
#include "
Stokhos_Tpetra_UQ_PCE.hpp
"
12
#include "TpetraCore_ETIHelperMacros.h"
13
14
#define INSTANTIATE_UQ_PCE_STORAGE(INSTMACRO, STORAGE, LO, GO, N) \
15
INSTMACRO( Sacado::UQ::PCE<STORAGE>, LO, GO, N )
16
17
#define INSTANTIATE_UQ_PCE_DS_SLD(INSTMACRO, S, L, D, LO, GO, N) \
18
typedef Stokhos::DynamicStorage<L,S,D::execution_space> DS_ ## L ## _ ## S ## _ ## _ ## D; \
19
INSTANTIATE_UQ_PCE_STORAGE(INSTMACRO, DS_ ## L ## _ ## S ## _ ## _ ## D, LO, GO, N)
20
21
#define INSTANTIATE_UQ_PCE_S_D(INSTMACRO, D, LO, GO, N) \
22
INSTANTIATE_UQ_PCE_DS_SLD(INSTMACRO, double, int, D, LO, GO, N)
23
24
#define INSTANTIATE_UQ_PCE_S(INSTMACRO, LO, GO, N) \
25
typedef Stokhos::DeviceForNode2<N>::type DFN_ ## LO ## _ ## GO ## _ ## N; \
26
INSTANTIATE_UQ_PCE_S_D(INSTMACRO, DFN_ ## LO ## _ ## GO ## _ ## N, LO, GO, N)
27
28
#define INSTANTIATE_UQ_PCE(INSTMACRO, LO, GO, N) \
29
INSTANTIATE_UQ_PCE_S(INSTMACRO, LO, GO, N)
30
31
#define INSTANTIATE_TPETRA_UQ_PCE_N(INSTMACRO, N) \
32
using default_local_ordinal_type = Tpetra::Map<>::local_ordinal_type; \
33
using default_global_ordinal_type = Tpetra::Map<>::global_ordinal_type; \
34
INSTANTIATE_UQ_PCE_S(INSTMACRO, default_local_ordinal_type, default_global_ordinal_type, N)
35
36
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT) && defined(HAVE_TPETRA_INST_SERIAL)
37
#define INSTANTIATE_TPETRA_UQ_PCE_SERIAL(INSTMACRO) \
38
INSTMACRO(Tpetra_KokkosCompat_KokkosSerialWrapperNode)
39
#else
40
#define INSTANTIATE_TPETRA_UQ_PCE_SERIAL(INSTMACRO)
41
#endif
42
43
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT) && defined(HAVE_TPETRA_INST_PTHREAD)
44
#define INSTANTIATE_TPETRA_UQ_PCE_THREADS(INSTMACRO) \
45
INSTMACRO(Tpetra_KokkosCompat_KokkosThreadsWrapperNode)
46
#else
47
#define INSTANTIATE_TPETRA_UQ_PCE_THREADS(INSTMACRO)
48
#endif
49
50
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT) && defined(HAVE_TPETRA_INST_OPENMP)
51
#define INSTANTIATE_TPETRA_UQ_PCE_OPENMP(INSTMACRO) \
52
INSTMACRO(Tpetra_KokkosCompat_KokkosOpenMPWrapperNode)
53
#else
54
#define INSTANTIATE_TPETRA_UQ_PCE_OPENMP(INSTMACRO)
55
#endif
56
57
#if defined(HAVE_TPETRACORE_TEUCHOSKOKKOSCOMPAT) && defined(HAVE_TPETRA_INST_CUDA)
58
#define INSTANTIATE_TPETRA_UQ_PCE_CUDA(INSTMACRO) \
59
INSTMACRO(Tpetra_KokkosCompat_KokkosCudaWrapperNode)
60
#else
61
#define INSTANTIATE_TPETRA_UQ_PCE_CUDA(INSTMACRO)
62
#endif
63
64
#define INSTANTIATE_TPETRA_UQ_PCE_WRAPPER_NODES(INSTMACRO) \
65
INSTANTIATE_TPETRA_UQ_PCE_THREADS(INSTMACRO) \
66
INSTANTIATE_TPETRA_UQ_PCE_OPENMP(INSTMACRO) \
67
INSTANTIATE_TPETRA_UQ_PCE_CUDA(INSTMACRO)
68
69
#define INSTANTIATE_TPETRA_UQ_PCE(INSTMACRO) \
70
namespace Tpetra { \
71
\
72
TPETRA_ETI_MANGLING_TYPEDEFS() \
73
\
74
INSTANTIATE_TPETRA_UQ_PCE_WRAPPER_NODES(INSTMACRO) \
75
\
76
}
Stokhos_Tpetra_UQ_PCE.hpp
Generated on Fri Nov 22 2024 09:18:15 for Stokhos Package Browser (Single Doxygen Collection) by
1.8.5