Skip to content

Implement JIT Source and JIT Defines into the SYCL backend #1843

@jrwrigh

Description

@jrwrigh

This may be useful to add as well:

{
const char **jit_source_dirs;
CeedCallBackend(CeedGetJitSourceRoots(ceed, &num_jit_source_dirs, &jit_source_dirs));
CeedCallBackend(CeedRealloc(num_opts + num_jit_source_dirs, &opts));
for (CeedInt i = 0; i < num_jit_source_dirs; i++) {
std::ostringstream include_dir_arg;
include_dir_arg << "-I" << jit_source_dirs[i];
CeedCallBackend(CeedStringAllocCopy(include_dir_arg.str().c_str(), (char **)&opts[num_opts + i]));
}
CeedCallBackend(CeedRestoreJitSourceRoots(ceed, &jit_source_dirs));
}
// User defines
{
const char **jit_defines;
CeedCallBackend(CeedGetJitDefines(ceed, &num_jit_defines, &jit_defines));
CeedCallBackend(CeedRealloc(num_opts + num_jit_source_dirs + num_jit_defines, &opts));
for (CeedInt i = 0; i < num_jit_defines; i++) {
std::ostringstream define_arg;
define_arg << "-D" << jit_defines[i];
CeedCallBackend(CeedStringAllocCopy(define_arg.str().c_str(), (char **)&opts[num_opts + num_jit_source_dirs + i]));
}
CeedCallBackend(CeedRestoreJitDefines(ceed, &jit_defines));
}

Originally posted by @jeremylt in #1840 (comment)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions