Tpetra parallel linear algebra Version of the Day
Loading...
Searching...
No Matches
Tpetra_Details_FixedHashTable_Serial.cpp
1// @HEADER
2// *****************************************************************************
3// Tpetra: Templated Linear Algebra Services Package
4//
5// Copyright 2008 NTESS and the Tpetra contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#include "Tpetra_Details_FixedHashTable_decl.hpp"
11
12#if defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(KOKKOS_ENABLE_SERIAL)
13
14#include "TpetraCore_ETIHelperMacros.h"
15#include "Tpetra_Details_FixedHashTable_def.hpp"
16
17namespace Tpetra {
18namespace Details {
19
20 TPETRA_ETI_MANGLING_TYPEDEFS()
21
22 typedef Kokkos::Device<Kokkos::Serial, Kokkos::HostSpace> serial_device_type;
23
24#define TPETRA_DETAILS_FIXEDHASHTABLE_INSTANT_SERIAL( LO, GO ) \
25 TPETRA_DETAILS_FIXEDHASHTABLE_INSTANT( LO, GO, serial_device_type )
26
27 TPETRA_INSTANTIATE_LG( TPETRA_DETAILS_FIXEDHASHTABLE_INSTANT_SERIAL )
28
29 // mfh 26 Sep 2015: Make sure that the {KeyType = LO, ValueType =
30 // LO} and {KeyType = int, ValueType = LO} specializations get
31 // built, since Directory needs them.
32
33 // KeyType = int doesn't get built if GO = int is disabled.
34#ifndef HAVE_TPETRA_INST_INT_INT
35# define TPETRA_DETAILS_FIXEDHASHTABLE_INSTANT_SERIAL_INT( LO ) \
36 TPETRA_DETAILS_FIXEDHASHTABLE_INSTANT( LO, int, serial_device_type )
37
38 TPETRA_INSTANTIATE_L( TPETRA_DETAILS_FIXEDHASHTABLE_INSTANT_SERIAL_INT )
39
40 // FIXME (mfh 26 Sep 2015) Once it becomes possible to disable LO =
41 // int, add an instantiation here for {KeyType = LO, ValueType =
42 // LO}. However, this case has likely already been covered above,
43 // since disabling LO = int leaves LO = GO = long or long long as
44 // the most reasonable options. (It would be silly to use LO = long
45 // and GO = long long if sizeof(long) = sizeof(long long).)
46
47#endif // HAVE_TPETRA_INST_INT_INT
48
49} // namespace Details
50} // namespace Tpetra
51
52#endif // defined(HAVE_TPETRA_EXPLICIT_INSTANTIATION) && defined(KOKKOS_ENABLE_SERIAL)
Nonmember function that computes a residual Computes R = B - A * X.
Namespace Tpetra contains the class and methods constituting the Tpetra library.