23 #ifndef __CLRX_CLHELPER_H__ 24 #define __CLRX_CLHELPER_H__ 31 # include <OpenCL/cl.h> 55 explicit CLError(
const char* _description);
58 CLError(cl_int _error,
const char* _description);
64 const char*
what()
const noexcept;
102 const char* sourceCode,
size_t sourceCodeLen = 0);
106 const std::vector<std::pair<CString, uint64_t> >& defSymbols,
107 const char* sourceCode,
size_t sourceCodeLen = 0);
116 const CLAsmSetup& asmSetup,
const char* sourceCode,
size_t sourceCodeLen = 0,
122 const std::vector<std::pair<CString, uint64_t> >& defSymbols,
123 const char* sourceCode,
size_t sourceCodeLen = 0,
cl_program createProgramForCLDevice(cl_context clContext, cl_device_id clDevice, const CLAsmSetup &asmSetup, const Array< cxbyte > &binary, CString *buildLog=nullptr)
create (build program) binary for OpenCL device
common definitions for assembler and disassembler
int code() const
get OpenCL error code
Definition: CLHelper.h:67
uint32_t Flags
type for declaring various flags
Definition: Utilities.h:97
BinaryFormat
binary for Disassembler
Definition: Commons.h:33
std::vector< cl_platform_id > chooseCLPlatformsForCLRX()
choose suitable OpenCL many platforms for CLRX assembler programs
structure that holds assembler setup for OpenCL programs
Definition: CLHelper.h:84
an array class
Definition: Containers.h:38
bool newROCmBinFormat
new ROCm binary format
Definition: CLHelper.h:93
CLAsmSetup assemblerSetupForCLDevice(cl_device_id clDevice, Flags flags=0, Flags asmFlags=0)
get assembler setup(compile assembler code) binary for OpenCL device
Array< cxbyte > createBinaryForOpenCL(const CLAsmSetup &asmSetup, const char *sourceCode, size_t sourceCodeLen=0)
create program binary for OpenCL
bool is64Bit
if binary is 64-bit
Definition: CLHelper.h:90
force using AMD OpenCL 2.0 binary format
Definition: CLHelper.h:79
virtual ~CLError() noexcept
destructor
BinaryFormat binaryFormat
binary format
Definition: CLHelper.h:87
main namespace
Definition: AsmDefs.h:38
error class based on std::exception
Definition: CLHelper.h:46
unsigned int cxuint
unsigned int
Definition: Config.h:223
const char * what() const noexcept
get what
GPUDeviceType
type of GPU device
Definition: GPUId.h:51
CString options
OpenCL base options.
Definition: CLHelper.h:91
utilities for other libraries and programs
exception class
Definition: Utilities.h:58
Flags asmFlags
assembler flags
Definition: CLHelper.h:92
force using AMD OpenCL 1.2 binary format
Definition: CLHelper.h:80
GPU identification utilities.
cxuint driverVersion
driver version
Definition: CLHelper.h:88
cl_platform_id chooseCLPlatformForCLRX()
choose suitable OpenCL platform for CLRX assembler programs
GPUDeviceType deviceType
device typ
Definition: CLHelper.h:86
cxuint llvmVersion
LLVM version.
Definition: CLHelper.h:89
simple C-string container
Definition: CString.h:38
containers and other utils for other libraries and programs