1*6ca0f394SUmesh Unnikrishnan // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 2*6ca0f394SUmesh Unnikrishnan // All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3*6ca0f394SUmesh Unnikrishnan // 4*6ca0f394SUmesh Unnikrishnan // SPDX-License-Identifier: BSD-2-Clause 5*6ca0f394SUmesh Unnikrishnan // 6*6ca0f394SUmesh Unnikrishnan // This file is part of CEED: http://github.com/ceed 7*6ca0f394SUmesh Unnikrishnan 8*6ca0f394SUmesh Unnikrishnan #ifndef _ceed_sycl_gen_h 9*6ca0f394SUmesh Unnikrishnan #define _ceed_sycl_gen_h 10*6ca0f394SUmesh Unnikrishnan 11*6ca0f394SUmesh Unnikrishnan #include <ceed/backend.h> 12*6ca0f394SUmesh Unnikrishnan #include <ceed/ceed.h> 13*6ca0f394SUmesh Unnikrishnan #include <sycl/sycl.hpp> 14*6ca0f394SUmesh Unnikrishnan 15*6ca0f394SUmesh Unnikrishnan #include "../sycl/ceed-sycl-common.hpp" 16*6ca0f394SUmesh Unnikrishnan #include "../sycl/ceed-sycl-compile.hpp" 17*6ca0f394SUmesh Unnikrishnan 18*6ca0f394SUmesh Unnikrishnan typedef struct { 19*6ca0f394SUmesh Unnikrishnan CeedInt dim; 20*6ca0f394SUmesh Unnikrishnan CeedInt Q_1d; 21*6ca0f394SUmesh Unnikrishnan CeedInt max_P_1d; 22*6ca0f394SUmesh Unnikrishnan SyclModule_t *sycl_module; 23*6ca0f394SUmesh Unnikrishnan sycl::kernel *op; 24*6ca0f394SUmesh Unnikrishnan FieldsInt_Sycl *indices; 25*6ca0f394SUmesh Unnikrishnan Fields_Sycl *fields; 26*6ca0f394SUmesh Unnikrishnan Fields_Sycl *B; 27*6ca0f394SUmesh Unnikrishnan Fields_Sycl *G; 28*6ca0f394SUmesh Unnikrishnan CeedScalar *W; 29*6ca0f394SUmesh Unnikrishnan } CeedOperator_Sycl_gen; 30*6ca0f394SUmesh Unnikrishnan 31*6ca0f394SUmesh Unnikrishnan typedef struct { 32*6ca0f394SUmesh Unnikrishnan char *q_function_name; 33*6ca0f394SUmesh Unnikrishnan char *q_function_source; 34*6ca0f394SUmesh Unnikrishnan void *d_c; 35*6ca0f394SUmesh Unnikrishnan } CeedQFunction_Sycl_gen; 36*6ca0f394SUmesh Unnikrishnan 37*6ca0f394SUmesh Unnikrishnan CEED_INTERN int CeedQFunctionCreate_Sycl_gen(CeedQFunction qf); 38*6ca0f394SUmesh Unnikrishnan 39*6ca0f394SUmesh Unnikrishnan CEED_INTERN int CeedOperatorCreate_Sycl_gen(CeedOperator op); 40*6ca0f394SUmesh Unnikrishnan 41*6ca0f394SUmesh Unnikrishnan #endif // _ceed_sycl_gen_h 42