IOSS 2.0
Loading...
Searching...
No Matches
Ioss_DataPool.h
Go to the documentation of this file.
1// Copyright(C) 2020, 2021, 2022, 2024 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#ifdef SEACAS_HAVE_KOKKOS
21 Kokkos::View<char *> data_view_char{};
22 Kokkos::View<int *> data_view_int{};
23 Kokkos::View<int64_t *> data_view_int64{};
24 Kokkos::View<double *> data_view_double{};
25 // Kokkos::View<Kokkos_Complex *> data_view_complex cannot be a global variable,
26 // Since Kokkos::initialize() has not yet been called. Also, a Kokkos:View cannot
27 // have type std::complex entities.
28 Kokkos::View<char **> data_view_2D_char{};
29 Kokkos::View<int **> data_view_2D_int{};
30 Kokkos::View<int64_t **> data_view_2D_int64{};
31 Kokkos::View<double **> data_view_2D_double{};
32 // Kokkos::View<Kokkos_Complex **> data_view_2D_complex cannot be a global variable,
33 // Since Kokkos::initialize() has not yet been called. Also, a Kokkos:View cannot
34 // have type std::complex entities.
35 Kokkos::View<char **, Kokkos::LayoutRight, Kokkos::HostSpace> data_view_2D_char_layout_space{};
36 Kokkos::View<int **, Kokkos::LayoutRight, Kokkos::HostSpace> data_view_2D_int_layout_space{};
37 Kokkos::View<int64_t **, Kokkos::LayoutRight, Kokkos::HostSpace>
38 data_view_2D_int64_layout_space{};
39 Kokkos::View<double **, Kokkos::LayoutRight, Kokkos::HostSpace>
40 data_view_2D_double_layout_space{};
41 // Kokkos::View<Kokkos_Complex **, Kokkos::LayoutRight, Kokkos::HostSpace>
42 // data_view_2D_complex_layout_space cannot be a global variable,
43 // Since Kokkos::initialize() has not yet been called. Also, a Kokkos:View cannot
44 // have type std::complex entities.
45#endif
46 };
47} // namespace Ioss
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
Definition Ioss_DataPool.h:17