1*bd882c8aSJames Wright // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors. 2*bd882c8aSJames Wright // All Rights Reserved. See the top-level LICENSE and NOTICE files for details. 3*bd882c8aSJames Wright // 4*bd882c8aSJames Wright // SPDX-License-Identifier: BSD-2-Clause 5*bd882c8aSJames Wright // 6*bd882c8aSJames Wright // This file is part of CEED: http://github.com/ceed 7*bd882c8aSJames Wright 8*bd882c8aSJames Wright #ifndef _ceed_sycl_compile_hpp 9*bd882c8aSJames Wright #define _ceed_sycl_compile_hpp 10*bd882c8aSJames Wright 11*bd882c8aSJames Wright #include <ceed/backend.h> 12*bd882c8aSJames Wright #include <ceed/ceed.h> 13*bd882c8aSJames Wright 14*bd882c8aSJames Wright #include <map> 15*bd882c8aSJames Wright #include <sycl/sycl.hpp> 16*bd882c8aSJames Wright 17*bd882c8aSJames Wright using SyclModule_t = sycl::kernel_bundle<sycl::bundle_state::executable>; 18*bd882c8aSJames Wright 19*bd882c8aSJames Wright CEED_INTERN int CeedJitBuildModule_Sycl(Ceed ceed, const std::string &kernel_source, SyclModule_t **sycl_module, 20*bd882c8aSJames Wright const std::map<std::string, CeedInt> &constants = {}); 21*bd882c8aSJames Wright CEED_INTERN int CeedJitGetKernel_Sycl(Ceed ceed, const SyclModule_t *sycl_module, const std::string &kernel_name, sycl::kernel **sycl_kernel); 22*bd882c8aSJames Wright 23*bd882c8aSJames Wright #endif // _ceed_sycl_compile_h 24