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 Apr 4 2025 09:19:55 for Stokhos Package Browser (Single Doxygen Collection) by
1.8.5