1*9ba83ac0SJeremy L Thompson // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors. 26ca0f394SUmesh Unnikrishnan // All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 36ca0f394SUmesh Unnikrishnan // 46ca0f394SUmesh Unnikrishnan // SPDX-License-Identifier: BSD-2-Clause 56ca0f394SUmesh Unnikrishnan // 66ca0f394SUmesh Unnikrishnan // This file is part of CEED: http://github.com/ceed 7509d4af6SJeremy L Thompson #pragma once 86ca0f394SUmesh Unnikrishnan 96ca0f394SUmesh Unnikrishnan #include <ceed/backend.h> 106ca0f394SUmesh Unnikrishnan #include <ceed/ceed.h> 116ca0f394SUmesh Unnikrishnan #include <sycl/sycl.hpp> 126ca0f394SUmesh Unnikrishnan 136ca0f394SUmesh Unnikrishnan #include "../sycl/ceed-sycl-common.hpp" 146ca0f394SUmesh Unnikrishnan #include "../sycl/ceed-sycl-compile.hpp" 156ca0f394SUmesh Unnikrishnan 166ca0f394SUmesh Unnikrishnan typedef struct { 176ca0f394SUmesh Unnikrishnan CeedInt dim; 186ca0f394SUmesh Unnikrishnan CeedInt Q_1d; 196ca0f394SUmesh Unnikrishnan CeedInt max_P_1d; 206ca0f394SUmesh Unnikrishnan SyclModule_t *sycl_module; 216ca0f394SUmesh Unnikrishnan sycl::kernel *op; 226ca0f394SUmesh Unnikrishnan FieldsInt_Sycl *indices; 236ca0f394SUmesh Unnikrishnan Fields_Sycl *fields; 246ca0f394SUmesh Unnikrishnan Fields_Sycl *B; 256ca0f394SUmesh Unnikrishnan Fields_Sycl *G; 266ca0f394SUmesh Unnikrishnan CeedScalar *W; 276ca0f394SUmesh Unnikrishnan } CeedOperator_Sycl_gen; 286ca0f394SUmesh Unnikrishnan 296ca0f394SUmesh Unnikrishnan typedef struct { 3009095acaSJeremy L Thompson const char *qfunction_name; 3109095acaSJeremy L Thompson const char *qfunction_source; 326ca0f394SUmesh Unnikrishnan void *d_c; 336ca0f394SUmesh Unnikrishnan } CeedQFunction_Sycl_gen; 346ca0f394SUmesh Unnikrishnan 356ca0f394SUmesh Unnikrishnan CEED_INTERN int CeedQFunctionCreate_Sycl_gen(CeedQFunction qf); 366ca0f394SUmesh Unnikrishnan 376ca0f394SUmesh Unnikrishnan CEED_INTERN int CeedOperatorCreate_Sycl_gen(CeedOperator op); 38