CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CLRX::AmdCL2MainGPUBinaryBase Class Reference

base class of AMD OpenCL 2.0 binaries More...

#include <AmdCL2Binaries.h>

Inheritance diagram for CLRX::AmdCL2MainGPUBinaryBase:
CLRX::AmdMainBinaryBase CLRX::NonCopyableAndNonMovable CLRX::AmdCL2MainGPUBinary32 CLRX::AmdCL2MainGPUBinary64

Public Types

typedef Array< std::pair< CString, size_t > > MetadataMap
 type definition of metadata map
 
- Public Types inherited from CLRX::AmdMainBinaryBase
typedef Array< std::pair< CString, size_t > > KernelInfoMap
 Kernel info map.
 

Public Member Functions

 AmdCL2MainGPUBinaryBase (AmdMainType amdMainType)
 constructor
 
 ~AmdCL2MainGPUBinaryBase ()=default
 default destructor
 
bool hasInnerBinary () const
 returns true if inner binary exists
 
cxuint getDriverVersion () const
 get driver version
 
const AmdCL2InnerGPUBinaryBasegetInnerBinaryBase () const
 get inner binary base
 
AmdCL2InnerGPUBinaryBasegetInnerBinaryBase ()
 get inner binary base
 
const AmdCL2InnerGPUBinarygetInnerBinary () const
 get inner binary
 
AmdCL2InnerGPUBinarygetInnerBinary ()
 get inner binary
 
const AmdCL2OldInnerGPUBinarygetOldInnerBinary () const
 get old inner binary
 
AmdCL2OldInnerGPUBinarygetOldInnerBinary ()
 get old inner binary
 
const AmdGPUKernelHeadergetKernelHeaderEntry (size_t index) const
 get kernel header for specified index
 
const AmdGPUKernelHeadergetKernelHeaderEntry (const char *name) const
 get kernel header for specified name
 
size_t getISAMetadatasNum () const
 get number of ISA metadatas
 
const AmdCL2GPUKernelMetadatagetISAMetadataEntry (size_t index) const
 get kernel ISA metadata by kernel index
 
const AmdCL2GPUKernelMetadatagetISAMetadataEntry (const char *name) const
 get kernel ISA metadata by kernel name
 
size_t getISAMetadataSize (size_t index) const
 get ISA metadata size for specified inner binary
 
const cxbytegetISAMetadata (size_t index) const
 get ISA metadata for specified inner binary
 
cxbytegetISAMetadata (size_t index)
 get ISA metadata for specified inner binary
 
const AmdCL2GPUKernelMetadatagetMetadataEntry (size_t index) const
 get kernel metadata by index
 
const AmdCL2GPUKernelMetadatagetMetadataEntry (const char *name) const
 get kernel metadata by kernel name
 
size_t getMetadataSize (size_t index) const
 get metadata size for specified inner binary
 
const cxbytegetMetadata (size_t index) const
 get metadata for specified inner binary
 
cxbytegetMetadata (size_t index)
 get metadata for specified inner binary
 
const CStringgetAclVersionString () const
 get acl version string
 
- Public Member Functions inherited from CLRX::AmdMainBinaryBase
AmdMainType getType () const
 get binary type
 
size_t getKernelInfosNum () const
 get kernel informations number
 
const KernelInfogetKernelInfos () const
 get kernel informations array
 
const KernelInfogetKernelInfo (size_t index) const
 get kernel information with specified index
 
const KernelInfogetKernelInfo (const char *name) const
 get kernel information with specified kernel name (requires kernel info map)
 
const CStringgetDriverInfo () const
 get driver info string
 
const CStringgetCompileOptions () const
 get compile options string
 
- Public Member Functions inherited from CLRX::NonCopyableAndNonMovable
 NonCopyableAndNonMovable ()
 constructor
 
 NonCopyableAndNonMovable (const NonCopyableAndNonMovable &)=delete
 copy-constructor
 
 NonCopyableAndNonMovable (NonCopyableAndNonMovable &&)=delete
 move-constructor
 
NonCopyableAndNonMovableoperator= (const NonCopyableAndNonMovable &)=delete
 copy-assignment
 
NonCopyableAndNonMovableoperator= (NonCopyableAndNonMovable &&)=delete
 move-asignment
 

Static Public Member Functions

static cxuint determineMinDriverVersionForGPUDeviceType (GPUDeviceType devType)
 

Protected Member Functions

template<typename Types >
void initMainGPUBinary (typename Types::ElfBinary &elfBin)
 initialize binary
 
template<typename Types >
GPUDeviceType determineGPUDeviceTypeInt (const typename Types::ElfBinary &elfBin, uint32_t &archMinor, uint32_t &archStepping, cxuint driverVersion) const
 internal method to determine GPU device type
 
- Protected Member Functions inherited from CLRX::AmdMainBinaryBase
 AmdMainBinaryBase (AmdMainType type)
 constructor
 

Protected Attributes

cxuint driverVersion
 driver version
 
size_t kernelsNum
 kernels number
 
std::unique_ptr< AmdCL2GPUKernelMetadata[]> metadatas
 AMD metadatas.
 
Array< AmdCL2GPUKernelMetadataisaMetadatas
 AMD metadatas.
 
std::unique_ptr< AmdGPUKernelHeader[]> kernelHeaders
 kernel headers
 
MetadataMap isaMetadataMap
 ISA metadata map.
 
CString aclVersionString
 acl version string
 
std::unique_ptr< AmdCL2InnerGPUBinaryBaseinnerBinary
 inner binary pointer
 
- Protected Attributes inherited from CLRX::AmdMainBinaryBase
AmdMainType type
 type of binaries
 
Array< KernelInfokernelInfos
 kernel informations
 
KernelInfoMap kernelInfosMap
 kernel informations map
 
CString driverInfo
 driver info string
 
CString compileOptions
 compiler options string
 

Detailed Description

base class of AMD OpenCL 2.0 binaries


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