Qrack  1.7
General classical-emulating-quantum development framework
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Qrack::OCLEngine Class Reference

"Qrack::OCLEngine" manages the single OpenCL context. More...

#include <oclengine.hpp>

Collaboration diagram for Qrack::OCLEngine:
Collaboration graph
[legend]

Public Member Functions

cl::Context * GetContextPtr ()
 Get a pointer to the OpenCL context. More...
 
cl::CommandQueue * GetQueuePtr ()
 Get a pointer to the OpenCL queue. More...
 
cl::Kernel * GetApply2x2Ptr ()
 Get a pointer to the Apply2x2 function kernel. More...
 
cl::Kernel * GetApply2x2NormPtr ()
 Get a pointer to the Apply2x2Norm function kernel. More...
 
cl::Kernel * GetXPtr ()
 Get a pointer to the X function kernel. More...
 
cl::Kernel * GetSwapPtr ()
 Get a pointer to the Swap function kernel. More...
 
cl::Kernel * GetROLPtr ()
 Get a pointer to the ROL function kernel. More...
 
cl::Kernel * GetRORPtr ()
 Get a pointer to the ROR function kernel. More...
 
cl::Kernel * GetINCPtr ()
 Get a pointer to the INC function kernel. More...
 
cl::Kernel * GetDECPtr ()
 Get a pointer to the DEC function kernel. More...
 
cl::Kernel * GetINCCPtr ()
 Get a pointer to the INCC function kernel. More...
 
cl::Kernel * GetDECCPtr ()
 Get a pointer to the DECC function kernel. More...
 
cl::Kernel * GetLDAPtr ()
 Get a pointer to the IndexedLDA function kernel. More...
 
cl::Kernel * GetADCPtr ()
 Get a pointer to the IndexedADC function kernel. More...
 
cl::Kernel * GetSBCPtr ()
 Get a pointer to the IndexedSBC function kernel. More...
 

Static Public Member Functions

static OCLEngineInstance ()
 Get a pointer to the Instance of the singleton. (The instance will be instantiated, if it does not exist yet.) More...
 
static OCLEngineInstance (int plat, int dev)
 If this is the first time instantiating the OpenCL context, you may specify platform number and device number. More...
 

Private Member Functions

 OCLEngine ()
 
 OCLEngine (int plat, int dev)
 
 OCLEngine (OCLEngine const &)
 
OCLEngineoperator= (OCLEngine const &rhs)
 
void InitOCL (int plat, int dev)
 

Private Attributes

std::vector< cl::Platform > all_platforms
 
cl::Platform default_platform
 
std::vector< cl::Device > all_devices
 
cl::Device default_device
 
cl::Context context
 
cl::Program program
 
cl::CommandQueue queue
 
cl::Kernel apply2x2
 
cl::Kernel apply2x2norm
 
cl::Kernel x
 
cl::Kernel swap
 
cl::Kernel rol
 
cl::Kernel ror
 
cl::Kernel inc
 
cl::Kernel dec
 
cl::Kernel incc
 
cl::Kernel decc
 
cl::Kernel indexedLda
 
cl::Kernel indexedAdc
 
cl::Kernel indexedSbc
 

Static Private Attributes

static OCLEnginem_pInstance = NULL
 

Detailed Description

"Qrack::OCLEngine" manages the single OpenCL context.

Constructor & Destructor Documentation

Qrack::OCLEngine::OCLEngine ( )
private
Qrack::OCLEngine::OCLEngine ( int  plat,
int  dev 
)
private
Qrack::OCLEngine::OCLEngine ( OCLEngine const &  )
private

Member Function Documentation

cl::Kernel * Qrack::OCLEngine::GetADCPtr ( )

Get a pointer to the IndexedADC function kernel.

cl::Kernel * Qrack::OCLEngine::GetApply2x2NormPtr ( )

Get a pointer to the Apply2x2Norm function kernel.

cl::Kernel * Qrack::OCLEngine::GetApply2x2Ptr ( )

Get a pointer to the Apply2x2 function kernel.

cl::Context * Qrack::OCLEngine::GetContextPtr ( )

Get a pointer to the OpenCL context.

"Qrack::OCLEngine" manages the single OpenCL context

cl::Kernel * Qrack::OCLEngine::GetDECCPtr ( )

Get a pointer to the DECC function kernel.

cl::Kernel * Qrack::OCLEngine::GetDECPtr ( )

Get a pointer to the DEC function kernel.

cl::Kernel * Qrack::OCLEngine::GetINCCPtr ( )

Get a pointer to the INCC function kernel.

cl::Kernel * Qrack::OCLEngine::GetINCPtr ( )

Get a pointer to the INC function kernel.

cl::Kernel * Qrack::OCLEngine::GetLDAPtr ( )

Get a pointer to the IndexedLDA function kernel.

cl::CommandQueue * Qrack::OCLEngine::GetQueuePtr ( )

Get a pointer to the OpenCL queue.

cl::Kernel * Qrack::OCLEngine::GetROLPtr ( )

Get a pointer to the ROL function kernel.

cl::Kernel * Qrack::OCLEngine::GetRORPtr ( )

Get a pointer to the ROR function kernel.

cl::Kernel * Qrack::OCLEngine::GetSBCPtr ( )

Get a pointer to the IndexedSBC function kernel.

cl::Kernel * Qrack::OCLEngine::GetSwapPtr ( )

Get a pointer to the Swap function kernel.

cl::Kernel * Qrack::OCLEngine::GetXPtr ( )

Get a pointer to the X function kernel.

void Qrack::OCLEngine::InitOCL ( int  plat,
int  dev 
)
private
OCLEngine * Qrack::OCLEngine::Instance ( )
static

Get a pointer to the Instance of the singleton. (The instance will be instantiated, if it does not exist yet.)

OCLEngine * Qrack::OCLEngine::Instance ( int  plat,
int  dev 
)
static

If this is the first time instantiating the OpenCL context, you may specify platform number and device number.

OCLEngine & Qrack::OCLEngine::operator= ( OCLEngine const &  rhs)
private

Member Data Documentation

std::vector<cl::Device> Qrack::OCLEngine::all_devices
private
std::vector<cl::Platform> Qrack::OCLEngine::all_platforms
private
cl::Kernel Qrack::OCLEngine::apply2x2
private
cl::Kernel Qrack::OCLEngine::apply2x2norm
private
cl::Context Qrack::OCLEngine::context
private
cl::Kernel Qrack::OCLEngine::dec
private
cl::Kernel Qrack::OCLEngine::decc
private
cl::Device Qrack::OCLEngine::default_device
private
cl::Platform Qrack::OCLEngine::default_platform
private
cl::Kernel Qrack::OCLEngine::inc
private
cl::Kernel Qrack::OCLEngine::incc
private
cl::Kernel Qrack::OCLEngine::indexedAdc
private
cl::Kernel Qrack::OCLEngine::indexedLda
private
cl::Kernel Qrack::OCLEngine::indexedSbc
private
OCLEngine * Qrack::OCLEngine::m_pInstance = NULL
staticprivate
cl::Program Qrack::OCLEngine::program
private
cl::CommandQueue Qrack::OCLEngine::queue
private
cl::Kernel Qrack::OCLEngine::rol
private
cl::Kernel Qrack::OCLEngine::ror
private
cl::Kernel Qrack::OCLEngine::swap
private
cl::Kernel Qrack::OCLEngine::x
private

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