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 SYCL type definitions 10 #ifndef CEED_SYCL_TYPES_H 11 #define CEED_SYCL_TYPES_H 12 13 #include <ceed/types.h> 14 15 #define CEED_SYCL_NUMBER_FIELDS 16 16 17 #ifdef __OPENCL_C_VERSION__ 18 typedef struct { 19 global const CeedScalar *inputs[CEED_SYCL_NUMBER_FIELDS]; 20 global CeedScalar *outputs[CEED_SYCL_NUMBER_FIELDS]; 21 } Fields_Sycl; 22 23 typedef struct { 24 global const CeedInt *inputs[CEED_SYCL_NUMBER_FIELDS]; 25 global CeedInt *outputs[CEED_SYCL_NUMBER_FIELDS]; 26 } FieldsInt_Sycl; 27 #else 28 typedef struct { 29 const CeedScalar *inputs[CEED_SYCL_NUMBER_FIELDS]; 30 CeedScalar *outputs[CEED_SYCL_NUMBER_FIELDS]; 31 } Fields_Sycl; 32 33 typedef struct { 34 const CeedInt *inputs[CEED_SYCL_NUMBER_FIELDS]; 35 CeedInt *outputs[CEED_SYCL_NUMBER_FIELDS]; 36 } FieldsInt_Sycl; 37 #endif 38 39 #endif // CEED_SYCL_TYPES_H 40