xref: /libCEED/include/ceed/jit-source/hip/hip-types.h (revision d4cc18453651bd0f94c1a2e078b2646a92dafdcc)
1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3 //
4 // SPDX-License-Identifier: BSD-2-Clause
5 //
6 // This file is part of CEED:  http://github.com/ceed
7 
8 /// @file
9 /// Internal header for HIP type definitions
10 #pragma once
11 
12 #include <ceed/types.h>
13 
14 #define CEED_HIP_NUMBER_FIELDS 16
15 
16 typedef struct {
17   const CeedScalar *inputs[CEED_HIP_NUMBER_FIELDS];
18   CeedScalar       *outputs[CEED_HIP_NUMBER_FIELDS];
19 } Fields_Hip;
20 
21 typedef struct {
22   CeedInt *inputs[CEED_HIP_NUMBER_FIELDS];
23   CeedInt *outputs[CEED_HIP_NUMBER_FIELDS];
24 } FieldsInt_Hip;
25 
26 typedef struct {
27   CeedInt           num_elem;
28   const CeedInt    *num_per_elem;
29   const CeedInt    *indices;
30   const CeedScalar *coords;
31 } Points_Hip;
32 
33 typedef struct {
34   CeedInt     t_id_x;
35   CeedInt     t_id_y;
36   CeedInt     t_id_z;
37   CeedInt     t_id;
38   CeedScalar *slice;
39 } SharedData_Hip;
40