DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::detail::CGExecKernel Class Reference

"Execute kernel" command group class. More...

#include <sycl/detail/cg.hpp>

Inheritance diagram for sycl::_V1::detail::CGExecKernel:
Collaboration diagram for sycl::_V1::detail::CGExecKernel:

Public Member Functions

 CGExecKernel (NDRDescT NDRDesc, std::shared_ptr< HostKernelBase > HKernel, std::shared_ptr< detail::kernel_impl > SyclKernel, std::shared_ptr< detail::kernel_bundle_impl > KernelBundle, CG::StorageInitHelper CGData, std::vector< ArgDesc > Args, std::string KernelName, std::vector< std::shared_ptr< detail::stream_impl >> Streams, std::vector< std::shared_ptr< const void >> AuxiliaryResources, CGTYPE Type, sycl::detail::pi::PiKernelCacheConfig KernelCacheConfig, bool KernelIsCooperative, detail::code_location loc={})
 
 CGExecKernel (const CGExecKernel &CGExec)=default
 
std::vector< ArgDescgetArguments () const
 
std::string getKernelName () const
 
std::vector< std::shared_ptr< detail::stream_impl > > getStreams () const
 
std::vector< std::shared_ptr< const void > > getAuxiliaryResources () const override
 
void clearAuxiliaryResources () override
 
std::shared_ptr< detail::kernel_bundle_implgetKernelBundle ()
 
void clearStreams ()
 
bool hasStreams ()
 
- Public Member Functions inherited from sycl::_V1::detail::CG
 CG (CGTYPE Type, StorageInitHelper D, detail::code_location loc={})
 
 CG (CG &&CommandGroup)=default
 
 CG (const CG &CommandGroup)=default
 
CGTYPE getType () const
 
std::vector< std::vector< char > > & getArgsStorage ()
 
std::vector< detail::AccessorImplPtr > & getAccStorage ()
 
std::vector< std::shared_ptr< const void > > & getSharedPtrStorage ()
 
std::vector< AccessorImplHost * > & getRequirements ()
 
std::vector< detail::EventImplPtr > & getEvents ()
 
virtual ~CG ()=default
 

Public Attributes

NDRDescT MNDRDesc
 Stores ND-range description. More...
 
std::shared_ptr< HostKernelBaseMHostKernel
 
std::shared_ptr< detail::kernel_implMSyclKernel
 
std::shared_ptr< detail::kernel_bundle_implMKernelBundle
 
std::vector< ArgDescMArgs
 
std::string MKernelName
 
std::vector< std::shared_ptr< detail::stream_impl > > MStreams
 
std::vector< std::shared_ptr< const void > > MAuxiliaryResources
 
sycl::detail::pi::PiKernelCacheConfig MKernelCacheConfig
 
bool MKernelIsCooperative = false
 
- Public Attributes inherited from sycl::_V1::detail::CG
std::string MFunctionName
 
std::string MFileName
 
int32_t MLine
 
int32_t MColumn
 

Additional Inherited Members

- Public Types inherited from sycl::_V1::detail::CG
enum  CGTYPE : unsigned int {
  None = 0 , Kernel = 1 , CopyAccToPtr = 2 , CopyPtrToAcc = 3 ,
  CopyAccToAcc = 4 , Barrier = 5 , BarrierWaitlist = 6 , Fill = 7 ,
  UpdateHost = 8 , CopyUSM = 10 , FillUSM = 11 , PrefetchUSM = 12 ,
  CodeplayHostTask = 14 , AdviseUSM = 15 , Copy2DUSM = 16 , Fill2DUSM = 17 ,
  Memset2DUSM = 18 , CopyToDeviceGlobal = 19 , CopyFromDeviceGlobal = 20 , ReadWriteHostPipe = 21 ,
  ExecCommandBuffer = 22 , CopyImage = 23 , SemaphoreWait = 24 , SemaphoreSignal = 25
}
 Type of the command group. More...
 

Detailed Description

"Execute kernel" command group class.

Definition at line 167 of file cg.hpp.

Constructor & Destructor Documentation

◆ CGExecKernel() [1/2]

sycl::_V1::detail::CGExecKernel::CGExecKernel ( NDRDescT  NDRDesc,
std::shared_ptr< HostKernelBase HKernel,
std::shared_ptr< detail::kernel_impl SyclKernel,
std::shared_ptr< detail::kernel_bundle_impl KernelBundle,
CG::StorageInitHelper  CGData,
std::vector< ArgDesc Args,
std::string  KernelName,
std::vector< std::shared_ptr< detail::stream_impl >>  Streams,
std::vector< std::shared_ptr< const void >>  AuxiliaryResources,
CGTYPE  Type,
sycl::detail::pi::PiKernelCacheConfig  KernelCacheConfig,
bool  KernelIsCooperative,
detail::code_location  loc = {} 
)
inline

Definition at line 181 of file cg.hpp.

◆ CGExecKernel() [2/2]

sycl::_V1::detail::CGExecKernel::CGExecKernel ( const CGExecKernel CGExec)
default

Member Function Documentation

◆ clearAuxiliaryResources()

void sycl::_V1::detail::CGExecKernel::clearAuxiliaryResources ( )
inlineoverridevirtual

Reimplemented from sycl::_V1::detail::CG.

Definition at line 214 of file cg.hpp.

References MAuxiliaryResources.

◆ clearStreams()

void sycl::_V1::detail::CGExecKernel::clearStreams ( )
inline

Definition at line 220 of file cg.hpp.

References MStreams.

◆ getArguments()

std::vector<ArgDesc> sycl::_V1::detail::CGExecKernel::getArguments ( ) const
inline

Definition at line 204 of file cg.hpp.

References MArgs.

◆ getAuxiliaryResources()

std::vector<std::shared_ptr<const void> > sycl::_V1::detail::CGExecKernel::getAuxiliaryResources ( ) const
inlineoverridevirtual

Reimplemented from sycl::_V1::detail::CG.

Definition at line 211 of file cg.hpp.

References MAuxiliaryResources.

◆ getKernelBundle()

std::shared_ptr<detail::kernel_bundle_impl> sycl::_V1::detail::CGExecKernel::getKernelBundle ( )
inline

Definition at line 216 of file cg.hpp.

References MKernelBundle.

◆ getKernelName()

std::string sycl::_V1::detail::CGExecKernel::getKernelName ( ) const
inline

Definition at line 205 of file cg.hpp.

References MKernelName.

◆ getStreams()

std::vector<std::shared_ptr<detail::stream_impl> > sycl::_V1::detail::CGExecKernel::getStreams ( ) const
inline

Definition at line 206 of file cg.hpp.

References MStreams.

Referenced by sycl::_V1::detail::Scheduler::addCG().

◆ hasStreams()

bool sycl::_V1::detail::CGExecKernel::hasStreams ( )
inline

Definition at line 221 of file cg.hpp.

References MStreams.

Member Data Documentation

◆ MArgs

std::vector<ArgDesc> sycl::_V1::detail::CGExecKernel::MArgs

Definition at line 174 of file cg.hpp.

Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel(), and getArguments().

◆ MAuxiliaryResources

std::vector<std::shared_ptr<const void> > sycl::_V1::detail::CGExecKernel::MAuxiliaryResources

Definition at line 177 of file cg.hpp.

Referenced by clearAuxiliaryResources(), and getAuxiliaryResources().

◆ MHostKernel

std::shared_ptr<HostKernelBase> sycl::_V1::detail::CGExecKernel::MHostKernel

Definition at line 171 of file cg.hpp.

◆ MKernelBundle

std::shared_ptr<detail::kernel_bundle_impl> sycl::_V1::detail::CGExecKernel::MKernelBundle

Definition at line 173 of file cg.hpp.

Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel(), and getKernelBundle().

◆ MKernelCacheConfig

sycl::detail::pi::PiKernelCacheConfig sycl::_V1::detail::CGExecKernel::MKernelCacheConfig

Definition at line 178 of file cg.hpp.

◆ MKernelIsCooperative

bool sycl::_V1::detail::CGExecKernel::MKernelIsCooperative = false

Definition at line 179 of file cg.hpp.

Referenced by sycl::_V1::detail::Command::isFusable().

◆ MKernelName

std::string sycl::_V1::detail::CGExecKernel::MKernelName

Definition at line 175 of file cg.hpp.

Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel(), and getKernelName().

◆ MNDRDesc

NDRDescT sycl::_V1::detail::CGExecKernel::MNDRDesc

Stores ND-range description.

Definition at line 170 of file cg.hpp.

Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel().

◆ MStreams

std::vector<std::shared_ptr<detail::stream_impl> > sycl::_V1::detail::CGExecKernel::MStreams

Definition at line 176 of file cg.hpp.

Referenced by clearStreams(), getStreams(), and hasStreams().

◆ MSyclKernel

std::shared_ptr<detail::kernel_impl> sycl::_V1::detail::CGExecKernel::MSyclKernel

Definition at line 172 of file cg.hpp.

Referenced by sycl::_V1::detail::enqueueImpCommandBufferKernel().


The documentation for this class was generated from the following file: