CLRX  1
An unofficial OpenCL extensions designed for Radeon GPUs
Classes | Namespaces | Typedefs | Enumerations | Functions
ROCmBinaries.h File Reference

ROCm binaries handling. More...

#include <CLRX/Config.h>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <string>
#include <CLRX/amdbin/Elf.h>
#include <CLRX/amdbin/ElfBinaries.h>
#include <CLRX/amdbin/Commons.h>
#include <CLRX/utils/MemAccess.h>
#include <CLRX/utils/Containers.h>
#include <CLRX/utils/Utilities.h>
#include <CLRX/utils/GPUId.h>
#include <CLRX/utils/InputOutput.h>

Go to the source code of this file.

Classes

struct  CLRX::ROCmRegion
 ROCm data region. More...
 
class  CLRX::ROCmBinary
 ROCm main binary for GPU for 64-bit mode. More...
 
struct  CLRX::ROCmSymbolInput
 ROCm binary symbol input. More...
 
struct  CLRX::ROCmInput
 ROCm binary input structure. More...
 
class  CLRX::ROCmBinGenerator
 ROCm binary generator. More...
 

Namespaces

 CLRX
 main namespace
 

Typedefs

typedef AmdHsaKernelConfig CLRX::ROCmKernelConfig
 ROCm kernel configuration structure.
 

Enumerations

enum  : Flags { CLRX::ROCMBIN_CREATE_REGIONMAP = 0x10, CLRX::ROCMBIN_CREATE_ALL = ELF_CREATE_ALL | 0xfff0 }
 
enum  CLRX::ROCmRegionType : uint8_t { CLRX::DATA, CLRX::DATA = 0, CLRX::FKERNEL, CLRX::KERNEL }
 ROCm region/symbol type. More...
 
enum  {
  ROCMFLAG_USE_PRIVATE_SEGMENT_BUFFER = AMDHSAFLAG_USE_PRIVATE_SEGMENT_BUFFER, ROCMFLAG_USE_DISPATCH_PTR = AMDHSAFLAG_USE_DISPATCH_PTR, ROCMFLAG_USE_QUEUE_PTR = AMDHSAFLAG_USE_QUEUE_PTR, ROCMFLAG_USE_KERNARG_SEGMENT_PTR = AMDHSAFLAG_USE_KERNARG_SEGMENT_PTR,
  ROCMFLAG_USE_DISPATCH_ID = AMDHSAFLAG_USE_DISPATCH_ID, ROCMFLAG_USE_FLAT_SCRATCH_INIT = AMDHSAFLAG_USE_FLAT_SCRATCH_INIT, ROCMFLAG_USE_PRIVATE_SEGMENT_SIZE = AMDHSAFLAG_USE_PRIVATE_SEGMENT_SIZE, ROCMFLAG_USE_GRID_WORKGROUP_COUNT_BIT = AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_BIT,
  ROCMFLAG_USE_GRID_WORKGROUP_COUNT_X = AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_X, ROCMFLAG_USE_GRID_WORKGROUP_COUNT_Y = AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_Y, ROCMFLAG_USE_GRID_WORKGROUP_COUNT_Z = AMDHSAFLAG_USE_GRID_WORKGROUP_COUNT_Z, ROCMFLAG_USE_ORDERED_APPEND_GDS = AMDHSAFLAG_USE_ORDERED_APPEND_GDS,
  ROCMFLAG_PRIVATE_ELEM_SIZE_BIT = AMDHSAFLAG_PRIVATE_ELEM_SIZE_BIT, ROCMFLAG_USE_PTR64 = AMDHSAFLAG_USE_PTR64, ROCMFLAG_USE_DYNAMIC_CALL_STACK = AMDHSAFLAG_USE_DYNAMIC_CALL_STACK, ROCMFLAG_USE_DEBUG_ENABLED = AMDHSAFLAG_USE_DEBUG_ENABLED,
  ROCMFLAG_USE_XNACK_ENABLED = AMDHSAFLAG_USE_XNACK_ENABLED
}
 
enum  : cxuint {
  ROCMSECTID_HASH = ELFSECTID_OTHER_BUILTIN, ROCMSECTID_DYNAMIC, ROCMSECTID_NOTE, ROCMSECTID_GPUCONFIG,
  ROCMSECTID_MAX = ROCMSECTID_GPUCONFIG
}
 

Functions

bool CLRX::isROCmBinary (size_t binarySize, const cxbyte *binary)
 check whether is Amd OpenCL 2.0 binary
 

Detailed Description

ROCm binaries handling.