DPC++ Runtime
Runtime libraries for oneAPI Data Parallel C++
kernel_bundle.hpp File Reference
#include <CL/sycl/context.hpp>
#include <CL/sycl/detail/common.hpp>
#include <CL/sycl/detail/kernel_desc.hpp>
#include <CL/sycl/detail/pi.h>
#include <CL/sycl/detail/pi.hpp>
#include <CL/sycl/device.hpp>
#include <CL/sycl/kernel.hpp>
#include <CL/sycl/kernel_bundle_enums.hpp>
#include <cassert>
#include <memory>
#include <set>
#include <vector>
Include dependency graph for kernel_bundle.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cl::sycl::backend_traits< Backend >
 
class  cl::sycl::kernel_id
 Objects of the class identify kernel is some kernel_bundle related APIs. More...
 
class  cl::sycl::detail::device_image_plain
 
class  cl::sycl::device_image< State >
 Objects of the class represents an instance of an image in a specific state. More...
 
class  cl::sycl::detail::kernel_bundle_plain
 
class  cl::sycl::kernel_bundle< State >
 The kernel_bundle class represents collection of device images in a particular state. More...
 
struct  std::hash< cl::sycl::kernel_id >
 
struct  std::hash< cl::sycl::device_image< State > >
 
struct  std::hash< cl::sycl::kernel_bundle< State > >
 

Namespaces

 cl
 We provide new interfaces for matrix muliply in this patch:
 
 cl::sycl
 
 cl::sycl::detail
 
 std
 

Typedefs

using cl::sycl::detail::DeviceImageImplPtr = std::shared_ptr< device_image_impl >
 
using cl::sycl::detail::KernelBundleImplPtr = std::shared_ptr< detail::kernel_bundle_impl >
 
using cl::sycl::detail::DevImgSelectorImpl = std::function< bool(const detail::DeviceImageImplPtr &DevImgImpl)>
 

Functions

template<backend Backend, class SyclT >
auto cl::sycl::get_native (const SyclT &Obj) -> backend_return_t< Backend, SyclT >
 
kernel_id cl::sycl::detail::get_kernel_id_impl (std::string KernelName)
 
template<typename KernelName >
kernel_id cl::sycl::get_kernel_id ()
 
std::vector< kernel_id > cl::sycl::get_kernel_ids ()
 
detail::KernelBundleImplPtr cl::sycl::detail::get_kernel_bundle_impl (const context &Ctx, const std::vector< device > &Devs, bundle_state State)
 
auto cl::sycl::detail::getDeviceComparisonLambda ()
 
const std::vector< device > cl::sycl::detail::removeDuplicateDevices (const std::vector< device > &Devs)
 
template<bundle_state State>
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs)
 A kernel bundle in state State which contains all of the kernels in the application which are compatible with at least one of the devices in Devs. More...
 
template<bundle_state State>
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx)
 
detail::KernelBundleImplPtr cl::sycl::detail::get_kernel_bundle_impl (const context &Ctx, const std::vector< device > &Devs, const std::vector< kernel_id > &KernelIDs, bundle_state State)
 
template<bundle_state State>
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs, const std::vector< kernel_id > &KernelIDs)
 
template<bundle_state State>
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx, const std::vector< kernel_id > &KernelIDs)
 
template<typename KernelName , bundle_state State>
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx)
 
template<typename KernelName , bundle_state State>
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs)
 
detail::KernelBundleImplPtr cl::sycl::detail::get_kernel_bundle_impl (const context &Ctx, const std::vector< device > &Devs, bundle_state State, const DevImgSelectorImpl &Selector)
 
detail::KernelBundleImplPtr cl::sycl::detail::get_empty_interop_kernel_bundle_impl (const context &Ctx, const std::vector< device > &Devs)
 
template<bundle_state State>
kernel_bundle< State > cl::sycl::detail::get_empty_interop_kernel_bundle (const context &Ctx)
 make_kernel may need an empty interop kernel bundle. More...
 
template<bundle_state State, typename SelectorT >
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx, const std::vector< device > &Devs, SelectorT Selector)
 A kernel bundle in state State which contains all of the device images for which the selector returns true. More...
 
template<bundle_state State, typename SelectorT >
kernel_bundle< State > cl::sycl::get_kernel_bundle (const context &Ctx, SelectorT Selector)
 
bool cl::sycl::detail::has_kernel_bundle_impl (const context &Ctx, const std::vector< device > &Devs, bundle_state State)
 
bool cl::sycl::detail::has_kernel_bundle_impl (const context &Ctx, const std::vector< device > &Devs, const std::vector< kernel_id > &kernelIds, bundle_state State)
 
template<bundle_state State>
bool cl::sycl::has_kernel_bundle (const context &Ctx, const std::vector< device > &Devs)
 
template<bundle_state State>
bool cl::sycl::has_kernel_bundle (const context &Ctx, const std::vector< device > &Devs, const std::vector< kernel_id > &KernelIDs)
 
template<bundle_state State>
bool cl::sycl::has_kernel_bundle (const context &Ctx)
 
template<bundle_state State>
bool cl::sycl::has_kernel_bundle (const context &Ctx, const std::vector< kernel_id > &KernelIDs)
 
template<typename KernelName , bundle_state State>
bool cl::sycl::has_kernel_bundle (const context &Ctx)
 
template<typename KernelName , bundle_state State>
bool cl::sycl::has_kernel_bundle (const context &Ctx, const std::vector< device > &Devs)
 
bool cl::sycl::is_compatible (const std::vector< kernel_id > &KernelIDs, const device &Dev)
 
template<typename KernelName >
bool cl::sycl::is_compatible (const device &Dev)
 
std::shared_ptr< detail::kernel_bundle_impl > cl::sycl::detail::join_impl (const std::vector< detail::KernelBundleImplPtr > &Bundles)
 
std::shared_ptr< detail::kernel_bundle_impl > cl::sycl::detail::join_impl (const std::vector< detail::KernelBundleImplPtr > &Bundles, bundle_state State)
 
template<sycl::bundle_state State>
sycl::kernel_bundle< State > cl::sycl::join (const std::vector< sycl::kernel_bundle< State >> &Bundles)
 
std::shared_ptr< detail::kernel_bundle_impl > cl::sycl::detail::compile_impl (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList)
 
kernel_bundle< bundle_state::object > cl::sycl::compile (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList={})
 
kernel_bundle< bundle_state::object > cl::sycl::compile (const kernel_bundle< bundle_state::input > &InputBundle, const property_list &PropList={})
 
std::vector< sycl::device > cl::sycl::detail::find_device_intersection (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles)
 
std::shared_ptr< detail::kernel_bundle_impl > cl::sycl::detail::link_impl (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles, const std::vector< device > &Devs, const property_list &PropList)
 
kernel_bundle< bundle_state::executable > cl::sycl::link (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles, const std::vector< device > &Devs, const property_list &PropList={})
 
kernel_bundle< bundle_state::executable > cl::sycl::link (const kernel_bundle< bundle_state::object > &ObjectBundle, const property_list &PropList={})
 
kernel_bundle< bundle_state::executable > cl::sycl::link (const std::vector< kernel_bundle< bundle_state::object >> &ObjectBundles, const property_list &PropList={})
 
kernel_bundle< bundle_state::executable > cl::sycl::link (const kernel_bundle< bundle_state::object > &ObjectBundle, const std::vector< device > &Devs, const property_list &PropList={})
 
std::shared_ptr< detail::kernel_bundle_impl > cl::sycl::detail::build_impl (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList)
 
kernel_bundle< bundle_state::executable > cl::sycl::build (const kernel_bundle< bundle_state::input > &InputBundle, const std::vector< device > &Devs, const property_list &PropList={})
 
kernel_bundle< bundle_state::executable > cl::sycl::build (const kernel_bundle< bundle_state::input > &InputBundle, const property_list &PropList={})