IOSS 2.0
Loading...
Searching...
No Matches
Ioss_DataPool.h
Go to the documentation of this file.
1// Copyright(C) 2020, 2021, 2022 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#pragma once
8
9#include "ioss_export.h"
10
11#include "Ioss_CodeTypes.h"
12#include <cstdlib>
13#include <vector>
14
15namespace Ioss {
16 struct IOSS_EXPORT DataPool
17 {
18 // Data space shared by most field input/output routines...
19 std::vector<char> data{};
20 std::vector<int> data_int{};
21 std::vector<int64_t> data_int64{};
22 std::vector<double> data_double{};
23 std::vector<Complex> data_complex{};
24#ifdef SEACAS_HAVE_KOKKOS
25 Kokkos::View<char *> data_view_char{};
26 Kokkos::View<int *> data_view_int{};
27 Kokkos::View<int64_t *> data_view_int64{};
28 Kokkos::View<double *> data_view_double{};
29 // Kokkos::View<Kokkos_Complex *> data_view_complex cannot be a global variable,
30 // Since Kokkos::initialize() has not yet been called. Also, a Kokkos:View cannot
31 // have type std::complex entities.
32 Kokkos::View<char **> data_view_2D_char{};
33 Kokkos::View<int **> data_view_2D_int{};
34 Kokkos::View<int64_t **> data_view_2D_int64{};
35 Kokkos::View<double **> data_view_2D_double{};
36 // Kokkos::View<Kokkos_Complex **> data_view_2D_complex cannot be a global variable,
37 // Since Kokkos::initialize() has not yet been called. Also, a Kokkos:View cannot
38 // have type std::complex entities.
39 Kokkos::View<char **, Kokkos::LayoutRight, Kokkos::HostSpace> data_view_2D_char_layout_space{};
40 Kokkos::View<int **, Kokkos::LayoutRight, Kokkos::HostSpace> data_view_2D_int_layout_space{};
41 Kokkos::View<int64_t **, Kokkos::LayoutRight, Kokkos::HostSpace>
42 data_view_2D_int64_layout_space{};
43 Kokkos::View<double **, Kokkos::LayoutRight, Kokkos::HostSpace>
44 data_view_2D_double_layout_space{};
45 // Kokkos::View<Kokkos_Complex **, Kokkos::LayoutRight, Kokkos::HostSpace>
46 // data_view_2D_complex_layout_space cannot be a global variable,
47 // Since Kokkos::initialize() has not yet been called. Also, a Kokkos:View cannot
48 // have type std::complex entities.
49#endif
50 };
51} // namespace Ioss
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
Definition Ioss_DataPool.h:17