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

AMD OpenCL 2.0 main binary for GPU for 64-bit mode. More...

#include <AmdCL2Binaries.h>

Inheritance diagram for CLRX::AmdCL2MainGPUBinary:
CLRX::AmdMainBinaryBase CLRX::NonCopyableAndNonMovable

Public Types

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

Public Member Functions

 AmdCL2MainGPUBinary (size_t binaryCodeSize, cxbyte *binaryCode, Flags creationFlags=AMDBIN_CREATE_ALL)
 
bool hasKernelInfo () const
 returns true if binary has kernel informations
 
bool hasKernelInfoMap () const
 returns true if binary has kernel informations map
 
bool hasInfoStrings () const
 returns true if binary has info strings
 
bool hasInnerBinary () const
 
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 cxbyte * getISAMetadata (size_t index) const
 get ISA metadata for specified inner binary
 
cxbyte * getISAMetadata (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 cxbyte * getMetadata (size_t index) const
 get metadata for specified inner binary
 
cxbyte * getMetadata (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
 

Protected Attributes

cxuint driverVersion
 
size_t kernelsNum
 
std::unique_ptr< AmdCL2GPUKernelMetadata[]> metadatas
 AMD metadatas.
 
Array< AmdCL2GPUKernelMetadataisaMetadatas
 AMD metadatas.
 
std::unique_ptr< AmdGPUKernelHeader[]> kernelHeaders
 
MetadataMap isaMetadataMap
 
CString aclVersionString
 acl version string
 
std::unique_ptr< AmdCL2InnerGPUBinaryBaseinnerBinary
 
- 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
 

Additional Inherited Members

- Protected Member Functions inherited from CLRX::AmdMainBinaryBase
 AmdMainBinaryBase (AmdMainType type)
 constructor
 

Detailed Description

AMD OpenCL 2.0 main binary for GPU for 64-bit mode.

This object doesn't copy binary code content. Only it takes and uses a binary code.


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