#include <detail/program_manager/program_manager.hpp>
Public Member Functions | |
RTDeviceBinaryImage & | getDeviceImage (const std::string &KernelName, const context &Context, const device &Device, bool JITCompilationIsRequired=false) |
RTDeviceBinaryImage & | getDeviceImage (const std::unordered_set< RTDeviceBinaryImage * > &ImagesToVerify, const context &Context, const device &Device, bool JITCompilationIsRequired=false) |
sycl::detail::pi::PiProgram | createPIProgram (const RTDeviceBinaryImage &Img, const context &Context, const device &Device) |
std::pair< sycl::detail::pi::PiProgram, bool > | getOrCreatePIProgram (const RTDeviceBinaryImage &Img, const context &Context, const device &Device, const std::string &CompileAndLinkOptions, SerializedObj SpecConsts) |
Creates a PI program using either a cached device code binary if present in the persistent cache or from the supplied device image otherwise. More... | |
sycl::detail::pi::PiProgram | getBuiltPIProgram (const ContextImplPtr &ContextImpl, const DeviceImplPtr &DeviceImpl, const std::string &KernelName, const NDRDescT &NDRDesc={}, bool JITCompilationIsRequired=false) |
Builds or retrieves from cache a program defining the kernel with given name. More... | |
sycl::detail::pi::PiProgram | getBuiltPIProgram (const context &Context, const device &Device, const std::string &KernelName, const property_list &PropList, bool JITCompilationIsRequired=false) |
std::tuple< sycl::detail::pi::PiKernel, std::mutex *, const KernelArgMask *, sycl::detail::pi::PiProgram > | getOrCreateKernel (const ContextImplPtr &ContextImpl, const DeviceImplPtr &DeviceImpl, const std::string &KernelName, const NDRDescT &NDRDesc={}) |
sycl::detail::pi::PiProgram | getPiProgramFromPiKernel (sycl::detail::pi::PiKernel Kernel, const ContextImplPtr Context) |
void | addImages (pi_device_binaries DeviceImages) |
void | debugPrintBinaryImages () const |
void | flushSpecConstants (const program_impl &Prg, pi::PiProgram NativePrg=nullptr, const RTDeviceBinaryImage *Img=nullptr) |
Resolves given program to a device binary image and requests the program to flush constants the image depends on. More... | |
uint32_t | getDeviceLibReqMask (const RTDeviceBinaryImage &Img) |
const KernelArgMask * | getEliminatedKernelArgMask (pi::PiProgram NativePrg, const std::string &KernelName) |
Returns the mask for eliminated kernel arguments for the requested kernel within the native program. More... | |
kernel_id | getSYCLKernelID (const std::string &KernelName) |
std::vector< kernel_id > | getAllSYCLKernelIDs () |
kernel_id | getBuiltInKernelID (const std::string &KernelName) |
void | addOrInitDeviceGlobalEntry (const void *DeviceGlobalPtr, const char *UniqueId) |
bool | hasCompatibleImage (const device &Dev) |
DeviceGlobalMapEntry * | getDeviceGlobalEntry (const void *DeviceGlobalPtr) |
std::vector< DeviceGlobalMapEntry * > | getDeviceGlobalEntries (const std::vector< std::string > &UniqueIds, bool ExcludeDeviceImageScopeDecorated=false) |
void | addOrInitHostPipeEntry (const void *HostPipePtr, const char *UniqueId) |
HostPipeMapEntry * | getHostPipeEntry (const std::string &UniqueId) |
HostPipeMapEntry * | getHostPipeEntry (const void *HostPipePtr) |
device_image_plain | getDeviceImageFromBinaryImage (RTDeviceBinaryImage *BinImage, const context &Ctx, const device &Dev) |
std::vector< device_image_plain > | getSYCLDeviceImagesWithCompatibleState (const context &Ctx, const std::vector< device > &Devs, bundle_state TargetState, const std::vector< kernel_id > &KernelIDs={}) |
void | bringSYCLDeviceImagesToState (std::vector< device_image_plain > &DeviceImages, bundle_state TargetState) |
std::vector< device_image_plain > | getSYCLDeviceImages (const context &Ctx, const std::vector< device > &Devs, bundle_state State) |
std::vector< device_image_plain > | getSYCLDeviceImages (const context &Ctx, const std::vector< device > &Devs, const DevImgSelectorImpl &Selector, bundle_state TargetState) |
std::vector< device_image_plain > | getSYCLDeviceImages (const context &Ctx, const std::vector< device > &Devs, const std::vector< kernel_id > &KernelIDs, bundle_state TargetState) |
device_image_plain | compile (const device_image_plain &DeviceImage, const std::vector< device > &Devs, const property_list &PropList) |
std::vector< device_image_plain > | link (const device_image_plain &DeviceImages, const std::vector< device > &Devs, const property_list &PropList) |
device_image_plain | build (const device_image_plain &DeviceImage, const std::vector< device > &Devs, const property_list &PropList) |
std::tuple< sycl::detail::pi::PiKernel, std::mutex *, const KernelArgMask * > | getOrCreateKernel (const context &Context, const std::string &KernelName, const property_list &PropList, sycl::detail::pi::PiProgram Program) |
ProgramManager () | |
~ProgramManager ()=default | |
bool | kernelUsesAssert (const std::string &KernelName) const |
bool | kernelUsesAsan () const |
std::set< RTDeviceBinaryImage * > | getRawDeviceImages (const std::vector< kernel_id > &KernelIDs) |
Static Public Member Functions | |
static ProgramManager & | getInstance () |
static std::string | getProgramBuildLog (const sycl::detail::pi::PiProgram &Program, const ContextImplPtr Context) |
Definition at line 88 of file program_manager.hpp.
sycl::_V1::detail::ProgramManager::ProgramManager | ( | ) |
Definition at line 921 of file program_manager.cpp.
References std::cerr, sycl::_V1::detail::DbgProgMgr, sycl::_V1::detail::getFormatStr(), and sycl::_V1::detail::UseSpvEnv().
|
default |
void sycl::_V1::detail::ProgramManager::addImages | ( | pi_device_binaries | DeviceImages | ) |
Definition at line 1258 of file program_manager.cpp.
References any_of(), sycl::_V1::detail::DeviceBinaryProperty::asByteArray(), sycl::_V1::detail::DeviceBinaryProperty::asUint32(), sycl::_V1::detail::ByteArray::consume(), sycl::_V1::detail::createKernelArgMask(), pi_device_binaries_struct::DeviceBinaries, sycl::_V1::detail::ByteArray::dropBytes(), sycl::_V1::detail::ByteArray::empty(), pi_device_binary_struct::EntriesBegin, pi_device_binary_struct::EntriesEnd, sycl::_V1::detail::RTDeviceBinaryImage::PropertyRange::isAvailable(), and pi_device_binaries_struct::NumDeviceBinaries.
void sycl::_V1::detail::ProgramManager::addOrInitDeviceGlobalEntry | ( | const void * | DeviceGlobalPtr, |
const char * | UniqueId | ||
) |
Definition at line 1621 of file program_manager.cpp.
Referenced by sycl::_V1::detail::device_global_map::add().
void sycl::_V1::detail::ProgramManager::addOrInitHostPipeEntry | ( | const void * | HostPipePtr, |
const char * | UniqueId | ||
) |
Definition at line 1678 of file program_manager.cpp.
Referenced by sycl::_V1::detail::host_pipe_map::add().
void sycl::_V1::detail::ProgramManager::bringSYCLDeviceImagesToState | ( | std::vector< device_image_plain > & | DeviceImages, |
bundle_state | TargetState | ||
) |
Definition at line 1873 of file program_manager.cpp.
References sycl::_V1::build(), sycl::_V1::compile(), sycl::_V1::executable, sycl::_V1::ext_oneapi_source, sycl::_V1::detail::getSyclObjImpl(), sycl::_V1::input, sycl::_V1::link(), and sycl::_V1::object.
device_image_plain sycl::_V1::detail::ProgramManager::build | ( | const device_image_plain & | DeviceImage, |
const std::vector< device > & | Devs, | ||
const property_list & | PropList | ||
) |
Definition at line 2194 of file program_manager.cpp.
References sycl::_V1::detail::appendCompileEnvironmentVariablesThatAppend(), sycl::_V1::detail::appendLinkEnvironmentVariablesThatAppend(), sycl::_V1::detail::applyOptionsFromEnvironment(), sycl::_V1::detail::applyOptionsFromImage(), sycl::_V1::build(), sycl::_V1::detail::emitBuiltProgramInfo(), sycl::_V1::executable, sycl::_V1::detail::RTDeviceBinaryImage::get(), sycl::_V1::detail::RTDeviceBinaryImage::getFormat(), sycl::_V1::detail::RTDeviceBinaryImage::getImageID(), sycl::_V1::detail::KernelProgramCache::getOrBuild(), sycl::_V1::detail::KernelProgramCache::getOrInsertProgram(), sycl::_V1::detail::getRawSyclObjImpl(), sycl::_V1::detail::getSyclObjImpl(), PI_DEVICE_BINARY_TYPE_SPIRV, piProgramRetain(), and sycl::_V1::detail::setSpecializationConstants().
Referenced by sycl::_V1::detail::enqueueReadWriteHostPipe(), getBuiltPIProgram(), and sycl::_V1::detail::getOrBuildProgramForDeviceGlobal().
device_image_plain sycl::_V1::detail::ProgramManager::compile | ( | const device_image_plain & | DeviceImage, |
const std::vector< device > & | Devs, | ||
const property_list & | PropList | ||
) |
Definition at line 2018 of file program_manager.cpp.
References sycl::_V1::detail::appendCompileEnvironmentVariablesThatAppend(), sycl::_V1::detail::appendCompileOptionsFromImage(), sycl::_V1::detail::applyCompileOptionsFromEnvironment(), sycl::_V1::build, sycl::_V1::detail::getSyclObjImpl(), sycl::_V1::make_error_code(), sycl::_V1::object, PI_DEVICE_BINARY_TYPE_SPIRV, piProgramCompile(), and sycl::_V1::detail::setSpecializationConstants().
sycl::detail::pi::PiProgram sycl::_V1::detail::ProgramManager::createPIProgram | ( | const RTDeviceBinaryImage & | Img, |
const context & | Context, | ||
const device & | Device | ||
) |
Definition at line 173 of file program_manager.cpp.
References sycl::_V1::detail::RTDeviceBinaryImage::PropertyRange::begin(), pi_device_binary_struct::BinaryEnd, pi_device_binary_struct::BinaryStart, std::cerr, sycl::_V1::detail::createBinaryProgram(), sycl::_V1::detail::createSpirvProgram(), sycl::_V1::detail::DbgProgMgr, sycl::_V1::detail::pi::getBinaryImageFormat(), sycl::_V1::detail::RTDeviceBinaryImage::getFormat(), sycl::_V1::detail::getFormatStr(), sycl::_V1::detail::RTDeviceBinaryImage::getProgramMetadata(), sycl::_V1::detail::RTDeviceBinaryImage::getRawData(), sycl::_V1::detail::getRawSyclObjImpl(), sycl::_V1::detail::RTDeviceBinaryImage::getSize(), sycl::_V1::detail::getSyclObjImpl(), sycl::_V1::detail::isDeviceBinaryTypeSupported(), PI_DEVICE_BINARY_TYPE_NONE, and PI_DEVICE_BINARY_TYPE_SPIRV.
Referenced by getOrCreatePIProgram().
void sycl::_V1::detail::ProgramManager::debugPrintBinaryImages | ( | ) | const |
Definition at line 1420 of file program_manager.cpp.
Referenced by getDeviceImage().
void sycl::_V1::detail::ProgramManager::flushSpecConstants | ( | const program_impl & | Prg, |
pi::PiProgram | NativePrg = nullptr , |
||
const RTDeviceBinaryImage * | Img = nullptr |
||
) |
Resolves given program to a device binary image and requests the program to flush constants the image depends on.
Prg | the program object to get spec constant settings from. Passing program_impl by raw reference is OK, since it is not captured anywhere once the function returns. |
NativePrg | the native program, target for spec constant setting; if not null then overrides the native program in Prg |
Img | A source of the information about which constants need setting and symboling->integer spec constant ID mapping. If not null, overrides native program->binary image binding maintained by the program manager. |
Definition at line 1454 of file program_manager.cpp.
References std::cerr, sycl::_V1::detail::DbgProgMgr, sycl::_V1::detail::program_impl::flush_spec_constants(), sycl::_V1::detail::program_impl::get(), sycl::_V1::detail::program_impl::getHandleRef(), sycl::_V1::detail::RTDeviceBinaryImage::getRawData(), sycl::_V1::detail::program_impl::hasSetSpecConstants(), and sycl::_V1::detail::RTDeviceBinaryImage::supportsSpecConstants().
std::vector< kernel_id > sycl::_V1::detail::ProgramManager::getAllSYCLKernelIDs | ( | ) |
Definition at line 1597 of file program_manager.cpp.
kernel_id sycl::_V1::detail::ProgramManager::getBuiltInKernelID | ( | const std::string & | KernelName | ) |
Definition at line 1608 of file program_manager.cpp.
sycl::detail::pi::PiProgram sycl::_V1::detail::ProgramManager::getBuiltPIProgram | ( | const context & | Context, |
const device & | Device, | ||
const std::string & | KernelName, | ||
const property_list & | PropList, | ||
bool | JITCompilationIsRequired = false |
||
) |
sycl::detail::pi::PiProgram sycl::_V1::detail::ProgramManager::getBuiltPIProgram | ( | const ContextImplPtr & | ContextImpl, |
const DeviceImplPtr & | DeviceImpl, | ||
const std::string & | KernelName, | ||
const NDRDescT & | NDRDesc = {} , |
||
bool | JITCompilationIsRequired = false |
||
) |
Builds or retrieves from cache a program defining the kernel with given name.
M | identifies the OS module the kernel comes from (multiple OS modules may have kernels with the same name) |
Context | the context to build the program with |
Device | the device for which the program is built |
KernelName | the kernel's name |
JITCompilationIsRequired | If JITCompilationIsRequired is true add a check that kernel is compiled, otherwise don't add the check. |
Definition at line 523 of file program_manager.cpp.
References sycl::_V1::detail::appendCompileEnvironmentVariablesThatAppend(), sycl::_V1::detail::appendLinkEnvironmentVariablesThatAppend(), sycl::_V1::detail::applyOptionsFromEnvironment(), sycl::_V1::detail::applyOptionsFromImage(), build(), sycl::_V1::detail::checkDevSupportDeviceRequirements(), sycl::_V1::detail::emitBuiltProgramInfo(), sycl::_V1::detail::enableITTAnnotationsIfNeeded(), sycl::_V1::detail::RTDeviceBinaryImage::get(), getDeviceImage(), getDeviceLibReqMask(), sycl::_V1::detail::RTDeviceBinaryImage::getFormat(), sycl::_V1::detail::RTDeviceBinaryImage::getImageID(), sycl::_V1::detail::KernelProgramCache::getOrBuild(), getOrCreatePIProgram(), sycl::_V1::detail::KernelProgramCache::getOrInsertProgram(), sycl::_V1::detail::getRawSyclObjImpl(), sycl::_V1::detail::getSyclObjImpl(), PI_DEVICE_BINARY_TYPE_SPIRV, PI_DEVICE_INFO_BUILD_ON_SUBDEVICE, PI_TRUE, piDeviceGetInfo(), piProgramRetain(), sycl::_V1::detail::PersistentDeviceCodeCache::putItemToDisc(), and sycl::_V1::detail::RTDeviceBinaryImage::supportsSpecConstants().
Referenced by getOrCreateKernel().
std::vector< DeviceGlobalMapEntry * > sycl::_V1::detail::ProgramManager::getDeviceGlobalEntries | ( | const std::vector< std::string > & | UniqueIds, |
bool | ExcludeDeviceImageScopeDecorated = false |
||
) |
Definition at line 1660 of file program_manager.cpp.
Referenced by sycl::_V1::detail::context_impl::initializeDeviceGlobals().
DeviceGlobalMapEntry * sycl::_V1::detail::ProgramManager::getDeviceGlobalEntry | ( | const void * | DeviceGlobalPtr | ) |
Definition at line 1653 of file program_manager.cpp.
Referenced by sycl::_V1::detail::isDeviceGlobalUsedInKernel(), and sycl::_V1::detail::context_impl::~context_impl().
RTDeviceBinaryImage & sycl::_V1::detail::ProgramManager::getDeviceImage | ( | const std::string & | KernelName, |
const context & | Context, | ||
const device & | Device, | ||
bool | JITCompilationIsRequired = false |
||
) |
Definition at line 1002 of file program_manager.cpp.
References std::cerr, sycl::_V1::detail::CheckJITCompilationForImage(), sycl::_V1::detail::DbgProgMgr, debugPrintBinaryImages(), sycl::_V1::detail::getBinImageFromMultiMap(), sycl::_V1::detail::RTDeviceBinaryImage::getRawData(), sycl::_V1::detail::getRawSyclObjImpl(), and sycl::_V1::detail::RTDeviceBinaryImage::print().
Referenced by getBuiltPIProgram(), and sycl::_V1::detail::getOrBuildProgramForDeviceGlobal().
RTDeviceBinaryImage & sycl::_V1::detail::ProgramManager::getDeviceImage | ( | const std::unordered_set< RTDeviceBinaryImage * > & | ImagesToVerify, |
const context & | Context, | ||
const device & | Device, | ||
bool | JITCompilationIsRequired = false |
||
) |
Definition at line 1049 of file program_manager.cpp.
References std::cerr, sycl::_V1::detail::CheckJITCompilationForImage(), sycl::_V1::detail::DbgProgMgr, debugPrintBinaryImages(), sycl::_V1::detail::getRawSyclObjImpl(), sycl::_V1::detail::getSyclObjImpl(), and piextDeviceSelectBinary().
device_image_plain sycl::_V1::detail::ProgramManager::getDeviceImageFromBinaryImage | ( | RTDeviceBinaryImage * | BinImage, |
const context & | Ctx, | ||
const device & | Dev | ||
) |
Definition at line 1709 of file program_manager.cpp.
References sycl::_V1::detail::compatibleWithDevice(), and sycl::_V1::detail::getBinImageState().
Referenced by sycl::_V1::detail::enqueueReadWriteHostPipe(), and sycl::_V1::detail::getOrBuildProgramForDeviceGlobal().
uint32_t sycl::_V1::detail::ProgramManager::getDeviceLibReqMask | ( | const RTDeviceBinaryImage & | Img | ) |
Definition at line 1493 of file program_manager.cpp.
References sycl::_V1::detail::DeviceBinaryProperty::asUint32(), sycl::_V1::detail::RTDeviceBinaryImage::PropertyRange::begin(), sycl::_V1::detail::RTDeviceBinaryImage::getDeviceLibReqMask(), and sycl::_V1::detail::RTDeviceBinaryImage::PropertyRange::isAvailable().
Referenced by getBuiltPIProgram().
const KernelArgMask * sycl::_V1::detail::ProgramManager::getEliminatedKernelArgMask | ( | pi::PiProgram | NativePrg, |
const std::string & | KernelName | ||
) |
Returns the mask for eliminated kernel arguments for the requested kernel within the native program.
NativePrg | the PI program associated with the kernel. |
KernelName | the name of the kernel. |
Definition at line 1503 of file program_manager.cpp.
Referenced by getOrCreateKernel().
HostPipeMapEntry * sycl::_V1::detail::ProgramManager::getHostPipeEntry | ( | const std::string & | UniqueId | ) |
Definition at line 1695 of file program_manager.cpp.
Referenced by sycl::_V1::detail::enqueueReadWriteHostPipe(), and sycl::_V1::ext::intel::experimental::pipe_base::get_pipe_name().
HostPipeMapEntry * sycl::_V1::detail::ProgramManager::getHostPipeEntry | ( | const void * | HostPipePtr | ) |
Definition at line 1702 of file program_manager.cpp.
|
static |
Definition at line 68 of file program_manager.cpp.
References sycl::_V1::detail::GlobalHandler::getProgramManager(), and sycl::_V1::detail::GlobalHandler::instance().
Referenced by sycl::_V1::detail::device_global_map::add(), sycl::_V1::detail::host_pipe_map::add(), sycl::_V1::detail::kernel_bundle_impl::add_kernel(), sycl::_V1::detail::enqueueImpCommandBufferKernel(), sycl::_V1::detail::enqueueImpKernel(), sycl::_V1::detail::enqueueReadWriteHostPipe(), sycl::_V1::detail::get_device_info_impl< std::vector< kernel_id >, info::device::built_in_kernel_ids >::get(), sycl::_V1::detail::kernel_bundle_impl::get_kernel(), sycl::_V1::ext::intel::experimental::pipe_base::get_pipe_name(), sycl::_V1::detail::context_impl::initializeDeviceGlobals(), sycl::_V1::detail::pi::initializePlugins(), sycl::_V1::detail::isDeviceGlobalUsedInKernel(), sycl::_V1::detail::kernel_bundle_impl::kernel_bundle_impl(), sycl::_V1::detail::queue_impl::submit_impl(), and sycl::_V1::detail::context_impl::~context_impl().
std::tuple< sycl::detail::pi::PiKernel, std::mutex *, const KernelArgMask * > sycl::_V1::detail::ProgramManager::getOrCreateKernel | ( | const context & | Context, |
const std::string & | KernelName, | ||
const property_list & | PropList, | ||
sycl::detail::pi::PiProgram | Program | ||
) |
Definition at line 2348 of file program_manager.cpp.
References sycl::_V1::detail::KernelProgramCache::getOrBuild(), sycl::_V1::detail::KernelProgramCache::getOrInsertKernel(), sycl::_V1::detail::getSyclObjImpl(), sycl::_V1::detail::make_tuple(), PI_TRUE, PI_USM_INDIRECT_ACCESS, piKernelCreate(), piKernelRetain(), and piKernelSetExecInfo().
std::tuple< sycl::detail::pi::PiKernel, std::mutex *, const KernelArgMask *, sycl::detail::pi::PiProgram > sycl::_V1::detail::ProgramManager::getOrCreateKernel | ( | const ContextImplPtr & | ContextImpl, |
const DeviceImplPtr & | DeviceImpl, | ||
const std::string & | KernelName, | ||
const NDRDescT & | NDRDesc = {} |
||
) |
Definition at line 643 of file program_manager.cpp.
References sycl::_V1::detail::appendCompileEnvironmentVariablesThatAppend(), sycl::_V1::detail::appendLinkEnvironmentVariablesThatAppend(), sycl::_V1::detail::applyOptionsFromEnvironment(), std::cerr, sycl::_V1::detail::DbgProgMgr, getBuiltPIProgram(), getEliminatedKernelArgMask(), sycl::_V1::detail::KernelProgramCache::getOrBuild(), sycl::_V1::detail::KernelProgramCache::getOrInsertKernel(), sycl::_V1::kernel_not_supported, sycl::_V1::detail::make_tuple(), PI_TRUE, PI_USM_INDIRECT_ACCESS, piKernelCreate(), piKernelRetain(), piKernelSetExecInfo(), piProgramRetain(), sycl::_V1::detail::KernelProgramCache::saveKernel(), and sycl::_V1::detail::KernelProgramCache::tryToGetKernelFast().
Referenced by sycl::_V1::detail::enqueueImpKernel(), and sycl::_V1::detail::kernel_bundle_impl::get_kernel().
std::pair< sycl::detail::pi::PiProgram, bool > sycl::_V1::detail::ProgramManager::getOrCreatePIProgram | ( | const RTDeviceBinaryImage & | Img, |
const context & | Context, | ||
const device & | Device, | ||
const std::string & | CompileAndLinkOptions, | ||
SerializedObj | SpecConsts | ||
) |
Creates a PI program using either a cached device code binary if present in the persistent cache or from the supplied device image otherwise.
Img | The device image to find a cached device code binary for or create the PI program with. |
Context | The context to find or create the PI program with. |
Device | The device to find or create the PI program for. |
CompileAndLinkOptions | The compile and linking options to be used for building the PI program. These options must appear in the mentioned order. This parameter is used as a partial key in the cache and has no effect if no cached device code binary is found in the persistent cache. |
SpecConsts | Specialization constants associated with the device image. This parameter is used as a partial key in the cache and has no effect if no cached device code binary is found in the persistent cache. |
Definition at line 485 of file program_manager.cpp.
References sycl::_V1::detail::RTDeviceBinaryImage::PropertyRange::begin(), sycl::_V1::detail::createBinaryProgram(), createPIProgram(), sycl::_V1::detail::PersistentDeviceCodeCache::getItemFromDisc(), sycl::_V1::detail::RTDeviceBinaryImage::getProgramMetadata(), and sycl::_V1::detail::getSyclObjImpl().
Referenced by getBuiltPIProgram().
sycl::detail::pi::PiProgram sycl::_V1::detail::ProgramManager::getPiProgramFromPiKernel | ( | sycl::detail::pi::PiKernel | Kernel, |
const ContextImplPtr | Context | ||
) |
Definition at line 736 of file program_manager.cpp.
References PI_KERNEL_INFO_PROGRAM, and piKernelGetInfo().
|
static |
Definition at line 747 of file program_manager.cpp.
References PI_DEVICE_INFO_NAME, PI_PROGRAM_BUILD_INFO_LOG, PI_PROGRAM_INFO_DEVICES, piDeviceGetInfo(), piProgramGetBuildInfo(), and piProgramGetInfo().
Referenced by sycl::_V1::detail::emitBuiltProgramInfo(), and sycl::_V1::detail::loadDeviceLibFallback().
std::set< RTDeviceBinaryImage * > sycl::_V1::detail::ProgramManager::getRawDeviceImages | ( | const std::vector< kernel_id > & | KernelIDs | ) |
Definition at line 1641 of file program_manager.cpp.
Referenced by getSYCLDeviceImagesWithCompatibleState().
std::vector< device_image_plain > sycl::_V1::detail::ProgramManager::getSYCLDeviceImages | ( | const context & | Ctx, |
const std::vector< device > & | Devs, | ||
bundle_state | State | ||
) |
Definition at line 1934 of file program_manager.cpp.
Referenced by sycl::_V1::detail::kernel_bundle_impl::add_kernel(), and sycl::_V1::detail::kernel_bundle_impl::kernel_bundle_impl().
std::vector< device_image_plain > sycl::_V1::detail::ProgramManager::getSYCLDeviceImages | ( | const context & | Ctx, |
const std::vector< device > & | Devs, | ||
const DevImgSelectorImpl & | Selector, | ||
bundle_state | TargetState | ||
) |
Definition at line 1945 of file program_manager.cpp.
std::vector< device_image_plain > sycl::_V1::detail::ProgramManager::getSYCLDeviceImages | ( | const context & | Ctx, |
const std::vector< device > & | Devs, | ||
const std::vector< kernel_id > & | KernelIDs, | ||
bundle_state | TargetState | ||
) |
Definition at line 1964 of file program_manager.cpp.
References sycl::_V1::kernel_argument, and sycl::_V1::make_error_code().
std::vector< device_image_plain > sycl::_V1::detail::ProgramManager::getSYCLDeviceImagesWithCompatibleState | ( | const context & | Ctx, |
const std::vector< device > & | Devs, | ||
bundle_state | TargetState, | ||
const std::vector< kernel_id > & | KernelIDs = {} |
||
) |
Definition at line 1730 of file program_manager.cpp.
References any_of(), getRawDeviceImages(), sycl::_V1::invalid, and sycl::_V1::make_error_code().
kernel_id sycl::_V1::detail::ProgramManager::getSYCLKernelID | ( | const std::string & | KernelName | ) |
Definition at line 1576 of file program_manager.cpp.
Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel(), and sycl::_V1::detail::enqueueImpKernel().
bool sycl::_V1::detail::ProgramManager::hasCompatibleImage | ( | const device & | Dev | ) |
Definition at line 1587 of file program_manager.cpp.
References any_of().
|
inline |
Definition at line 298 of file program_manager.hpp.
Referenced by sycl::_V1::detail::pi::initializePlugins().
bool sycl::_V1::detail::ProgramManager::kernelUsesAssert | ( | const std::string & | KernelName | ) | const |
Definition at line 1254 of file program_manager.cpp.
Referenced by sycl::_V1::detail::queue_impl::submit_impl().
std::vector< device_image_plain > sycl::_V1::detail::ProgramManager::link | ( | const device_image_plain & | DeviceImages, |
const std::vector< device > & | Devs, | ||
const property_list & | PropList | ||
) |
Definition at line 2084 of file program_manager.cpp.
References sycl::_V1::detail::appendLinkEnvironmentVariablesThatAppend(), sycl::_V1::detail::appendLinkOptionsFromImage(), sycl::_V1::detail::applyLinkOptionsFromEnvironment(), sycl::_V1::detail::device_image_impl::SpecConstDescT::BlobOffset, sycl::_V1::build, sycl::_V1::executable, sycl::_V1::detail::getSyclObjImpl(), sycl::_V1::make_error_code(), and piProgramLink().