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

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

#include <AmdCL2Binaries.h>

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

Public Member Functions

 AmdCL2MainGPUBinary32 (size_t binaryCodeSize, cxbyte *binaryCode, Flags creationFlags=AMDBIN_CREATE_ALL)
 constructor
 
 ~AmdCL2MainGPUBinary32 ()=default
 default destructor
 
GPUDeviceType determineGPUDeviceType (uint32_t &archMinor, uint32_t &archStepping, cxuint driverVersion=0) const
 determine GPU device from this binary More...
 
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
 
- Public Member Functions inherited from CLRX::AmdCL2MainGPUBinaryBase
 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 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
 

Additional Inherited Members

- Public Types inherited from CLRX::AmdCL2MainGPUBinaryBase
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.
 
- Protected Member Functions inherited from CLRX::AmdCL2MainGPUBinaryBase
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 inherited from CLRX::AmdCL2MainGPUBinaryBase
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

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

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

Member Function Documentation

GPUDeviceType CLRX::AmdCL2MainGPUBinary32::determineGPUDeviceType ( uint32_t &  archMinor,
uint32_t &  archStepping,
cxuint  driverVersion = 0 
) const

determine GPU device from this binary

Parameters
archMinoroutput architecture minor
archSteppingoutput architecture stepping
driverVersionspecified driver version (zero detected by loader)
Returns
device type

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