DPC++ Runtime
Runtime libraries for oneAPI DPC++
cl::sycl::ext::intel::experimental::detail Namespace Reference

Classes

struct  _GetValue
 
struct  _GetValue< _Type, _T1, _T... >
 
struct  _MatchType
 
struct  GetOrDefaultValT
 

Typedefs

using defaultLatencyAnchorIdProperty = latency_anchor_id_key::value_t<-1 >
 
using defaultLatencyConstraintProperty = latency_constraint_key::value_t< 0, latency_control_type::none, 0 >
 

Functions

static std::vector< const char * > prepareOclocArgs (sycl::info::device_type DeviceType, device_arch DeviceArch, bool Is64Bit, const std::string &DeviceStepping, const std::string &UserArgs)
 
static std::vector< bytecompileToSPIRV (const std::string &Source, sycl::info::device_type DeviceType, device_arch DeviceArch, bool Is64Bit, const std::string &DeviceStepping, void *&CompileToSPIRVHandle, void *&FreeSPIRVOutputsHandle, const std::vector< std::string > &UserArgs)
 Compiles the given source Source to SPIR-V IL and returns IL as a vector of bytes. More...
 

Typedef Documentation

◆ defaultLatencyAnchorIdProperty

◆ defaultLatencyConstraintProperty

Function Documentation

◆ compileToSPIRV()

static std::vector<byte> cl::sycl::ext::intel::experimental::detail::compileToSPIRV ( const std::string &  Source,
sycl::info::device_type  DeviceType,
device_arch  DeviceArch,
bool  Is64Bit,
const std::string &  DeviceStepping,
void *&  CompileToSPIRVHandle,
void *&  FreeSPIRVOutputsHandle,
const std::vector< std::string > &  UserArgs 
)
static

Compiles the given source Source to SPIR-V IL and returns IL as a vector of bytes.

Parameters
Source- Either OpenCL or CM source code.
DeviceType- SYCL device type, e.g. cpu, gpu, accelerator, etc.
DeviceArch- More detailed info on the target device architecture.
Is64Bit- If set to true, specifies the 64-bit architecture. Otherwise, 32-bit is assumed.
DeviceStepping- implementation specific target device stepping.
CompileToSPIRVHandle- Output parameter. It is set to the address of the library function doing the compilation.
FreeSPIRVOutputsHandle- Output parameter. It is set to the address of the library function freeing memory allocated during the compilation.
UserArgs- User's options to ocloc compiler.

Definition at line 79 of file online_compiler.cpp.

References cl::sycl::detail::pi::getOsLibraryFuncAddress(), cl::sycl::detail::pi::loadOsLibrary(), OCLOC_VERSION_1_0, OCLOC_VERSION_CURRENT, oclocFreeOutput(), oclocInvoke(), oclocVersion(), and prepareOclocArgs().

Referenced by cl::sycl::ext::intel::experimental::online_compiler< Lang >::compile().

◆ prepareOclocArgs()

static std::vector<const char *> cl::sycl::ext::intel::experimental::detail::prepareOclocArgs ( sycl::info::device_type  DeviceType,
device_arch  DeviceArch,
bool  Is64Bit,
const std::string &  DeviceStepping,
const std::string &  UserArgs 
)
static

Definition at line 25 of file online_compiler.cpp.

Referenced by compileToSPIRV().