b82c92dbc7
SWDEV-178312 - Clean pre-GCN references Change by Roland Ouellette Affected files ... ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/api/v0_8/aclKstatsr800.cpp#4 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/amdil_be.cpp#3 edit ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/7XX/devState7XX.cpp#4 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/7XX/devState7XX.h#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/7XX/scCompile7XX.cpp#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/7XX/scCompile7XX.h#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/7XX/scState7XX.cpp#4 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/7XX/scState7XX.h#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/EGNI/devStateEGNI.cpp#4 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/EGNI/devStateEGNI.h#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/EGNI/scCompile89.cpp#6 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/EGNI/scCompile89.h#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/EGNI/scStateEGNI.cpp#4 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/EGNI/scStateEGNI.h#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/devState.cpp#7 edit ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/scCompile789.cpp#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/scCompile789.h#2 delete ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/scCompileBase.cpp#5 edit ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/scState.cpp#9 edit ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/scwrapper/scState.h#2 edit ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/acl.h#3 edit ... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/utils/v0_8/libUtils.cpp#11 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/api/v0_8/aclKstatsr800.cpp#4 delete ... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/amdil_be.cpp#46 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/acl.h#13 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#36 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#335 edit
306 righe
9.9 KiB
C
306 righe
9.9 KiB
C
//
|
|
// Copyright (c) 2012 Advanced Micro Devices, Inc. All rights reserved.
|
|
//
|
|
#ifndef _ACL_0_8_H_
|
|
#define _ACL_0_8_H_
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#include "aclTypes.h"
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with aclCompiler objects.
|
|
//!--------------------------------------------------------------------------!//
|
|
aclCompiler* ACL_API_ENTRY
|
|
aclCompilerInit(aclCompilerOptions *opts, acl_error *error_code) ACL_API_0_8;
|
|
acl_error ACL_API_ENTRY
|
|
aclCompilerFini(aclCompiler *cl) ACL_API_0_8;
|
|
aclCLVersion ACL_API_ENTRY
|
|
aclCompilerVersion(aclCompiler *cl, acl_error *error_code) ACL_API_0_8;
|
|
uint32_t ACL_API_ENTRY
|
|
aclVersionSize(aclCLVersion num, acl_error *error_code) ACL_API_0_8;
|
|
const char* ACL_API_ENTRY
|
|
aclGetErrorString(acl_error error_code) ACL_API_0_8;
|
|
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with target specific information.
|
|
//!--------------------------------------------------------------------------!//
|
|
//! Returns in the names argument, if non-NULL, a pointer to each of the arch
|
|
// names that the compiler supports. If names is NULL and arch_size is
|
|
// non-NULL, returns the number of arch entries that are required.
|
|
acl_error ACL_API_ENTRY
|
|
aclGetArchInfo(const char** arch_names,
|
|
size_t *arch_size) ACL_API_0_8;
|
|
|
|
//! Returns in the arch argument, if non-NULL, a pointer to each device
|
|
// name that the compiler supports. If device_size is non-NULL,
|
|
// returns the number of device entries that are used.
|
|
acl_error ACL_API_ENTRY
|
|
aclGetDeviceInfo(const char* arch,
|
|
const char **names,
|
|
size_t *device_size) ACL_API_0_8;
|
|
|
|
//! Function that returns a correctly filled out aclTargetInfo structure based
|
|
// on the information passed into the kernel.
|
|
aclTargetInfo ACL_API_ENTRY
|
|
aclGetTargetInfo(const char *arch,
|
|
const char *device,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
|
|
//! Function that returns a correctly filled out aclTargetInfo structure based
|
|
// on the information passed into the kernel.
|
|
aclTargetInfo ACL_API_ENTRY
|
|
aclGetTargetInfoFromChipID(const char *arch,
|
|
const uint32_t chip_id,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
|
|
//! Function that returns a string representation of the target architecture.
|
|
const char* ACL_API_ENTRY
|
|
aclGetArchitecture(const aclTargetInfo &target) ACL_API_0_8;
|
|
|
|
//! Function that returns a string representation of the target chip options.
|
|
const uint64_t ACL_API_ENTRY
|
|
aclGetChipOptions(const aclTargetInfo &target) ACL_API_0_8;
|
|
|
|
//! Function that returns a string representation of the target family.
|
|
const char* ACL_API_ENTRY
|
|
aclGetFamily(const aclTargetInfo &target) ACL_API_0_8;
|
|
|
|
//! Function that returns a string representation of the target chip.
|
|
const char* ACL_API_ENTRY
|
|
aclGetChip(const aclTargetInfo &target) ACL_API_0_8;
|
|
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with aclBinary objects.
|
|
//!--------------------------------------------------------------------------!//
|
|
aclBinary* ACL_API_ENTRY
|
|
aclBinaryInit(
|
|
size_t struct_version,
|
|
const aclTargetInfo *target,
|
|
const aclBinaryOptions *options,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclBinaryFini(aclBinary *bin) ACL_API_0_8;
|
|
|
|
aclBinary* ACL_API_ENTRY
|
|
aclReadFromFile(const char *str,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
|
|
aclBinary* ACL_API_ENTRY
|
|
aclReadFromMem(const void *mem,
|
|
size_t size, acl_error *error_code) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclWriteToFile(aclBinary *bin,
|
|
const char *str) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclWriteToMem(aclBinary *bin,
|
|
void **mem, size_t *size) ACL_API_0_8;
|
|
|
|
aclBinary* ACL_API_ENTRY
|
|
aclCreateFromBinary(const aclBinary *binary,
|
|
aclBIFVersion version) ACL_API_0_8;
|
|
|
|
aclBIFVersion ACL_API_ENTRY
|
|
aclBinaryVersion(const aclBinary *binary) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclInsertSection(aclCompiler *cl,
|
|
aclBinary *binary,
|
|
const void *data,
|
|
size_t data_size,
|
|
aclSections id) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclInsertSymbol(aclCompiler *cl,
|
|
aclBinary *binary,
|
|
const void *data,
|
|
size_t data_size,
|
|
aclSections id,
|
|
const char *symbol) ACL_API_0_8;
|
|
|
|
const void* ACL_API_ENTRY
|
|
aclExtractSection(aclCompiler *cl,
|
|
const aclBinary *binary,
|
|
size_t *size,
|
|
aclSections id,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
|
|
const void* ACL_API_ENTRY
|
|
aclExtractSymbol(aclCompiler *cl,
|
|
const aclBinary *binary,
|
|
size_t *size,
|
|
aclSections id,
|
|
const char *symbol,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclRemoveSection(aclCompiler *cl,
|
|
aclBinary *binary,
|
|
aclSections id) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclRemoveSymbol(aclCompiler *cl,
|
|
aclBinary *binary,
|
|
aclSections id,
|
|
const char *symbol) ACL_API_0_8;
|
|
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with debug/metdata.
|
|
//!--------------------------------------------------------------------------!//
|
|
acl_error ACL_API_ENTRY
|
|
aclQueryInfo(aclCompiler *cl,
|
|
const aclBinary *binary,
|
|
aclQueryType query,
|
|
const char *kernel,
|
|
void *data_ptr,
|
|
size_t *ptr_size) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclDbgAddArgument(aclCompiler *cl,
|
|
aclBinary *binary,
|
|
const char* kernel,
|
|
const char* name,
|
|
bool byVal)
|
|
ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclDbgRemoveArgument(aclCompiler *cl,
|
|
aclBinary *binary,
|
|
const char* kernel,
|
|
const char* name)
|
|
ACL_API_0_8;
|
|
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with various compilation phases.
|
|
//!--------------------------------------------------------------------------!//
|
|
acl_error ACL_API_ENTRY
|
|
aclCompile(aclCompiler *cl,
|
|
aclBinary *bin,
|
|
const char *options,
|
|
aclType from,
|
|
aclType to,
|
|
aclLogFunction compile_callback) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclLink(aclCompiler *cl,
|
|
aclBinary *src_bin,
|
|
unsigned int num_libs,
|
|
aclBinary **libs,
|
|
aclType link_mode,
|
|
const char *options,
|
|
aclLogFunction link_callback) ACL_API_0_8;
|
|
|
|
const char* ACL_API_ENTRY
|
|
aclGetCompilerLog(aclCompiler *cl) ACL_API_0_8;
|
|
|
|
const void* ACL_API_ENTRY
|
|
aclRetrieveType(aclCompiler *cl,
|
|
const aclBinary *bin,
|
|
const char *name,
|
|
size_t *data_size,
|
|
aclType type,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclSetType(aclCompiler *cl,
|
|
aclBinary *bin,
|
|
const char *name,
|
|
aclType type,
|
|
const void *data,
|
|
size_t size) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclConvertType(aclCompiler *cl,
|
|
aclBinary *bin,
|
|
const char *name,
|
|
aclType type) ACL_API_0_8;
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclDisassemble(aclCompiler *cl,
|
|
aclBinary *bin,
|
|
const char *kernel,
|
|
aclLogFunction disasm_callback) ACL_API_0_8;
|
|
|
|
const void* ACL_API_ENTRY
|
|
aclGetDeviceBinary(aclCompiler *cl,
|
|
const aclBinary *bin,
|
|
const char *kernel,
|
|
size_t *size,
|
|
acl_error *error_code) ACL_API_0_8;
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with binary image.
|
|
//!--------------------------------------------------------------------------!//
|
|
bool ACL_API_ENTRY
|
|
aclValidateBinaryImage(const void* binary,
|
|
size_t length, unsigned) ACL_API_0_8;
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with aclJITObjectImage objects.
|
|
//!--------------------------------------------------------------------------!//
|
|
aclJITObjectImage ACL_API_ENTRY
|
|
aclJITObjectImageCreate(aclCompiler *cl, const void* buffer,
|
|
size_t length, aclBinary* bin, acl_error* error_code);
|
|
|
|
aclJITObjectImage ACL_API_ENTRY
|
|
aclJITObjectImageCopy(aclCompiler *cl, const void* buffer,
|
|
size_t length, acl_error* error_code);
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclJITObjectImageDestroy(aclCompiler *cl, aclJITObjectImage buffer);
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclJITObjectImageFinalize(aclCompiler *cl, aclJITObjectImage image);
|
|
|
|
size_t ACL_API_ENTRY
|
|
aclJITObjectImageSize(aclCompiler *cl, aclJITObjectImage image,
|
|
acl_error* error_code);
|
|
|
|
const char* ACL_API_ENTRY
|
|
aclJITObjectImageData(aclCompiler *cl, aclJITObjectImage image,
|
|
acl_error* error_code);
|
|
|
|
size_t ACL_API_ENTRY
|
|
aclJITObjectImageGetGlobalsSize(aclCompiler *cl, aclJITObjectImage image,
|
|
acl_error* error_code);
|
|
|
|
acl_error ACL_API_ENTRY
|
|
aclJITObjectImageIterateSymbols(aclCompiler *cl, aclJITObjectImage image,
|
|
aclJITSymbolCallback callback, void* data);
|
|
|
|
#if defined(LEGACY_COMPLIB)
|
|
char* ACL_API_ENTRY
|
|
aclJITObjectImageDisassembleKernel(aclCompiler *cl, constAclJITObjectImage image,
|
|
const char* kernel, acl_error* error_code);
|
|
#endif
|
|
|
|
//!--------------------------------------------------------------------------!//
|
|
// Debug functionality
|
|
//!--------------------------------------------------------------------------!//
|
|
void aclDumpBinary(const aclBinary *bin);
|
|
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with kenel statistics.
|
|
//!--------------------------------------------------------------------------!//
|
|
void aclGetKstatsSI(const void* shader,
|
|
aclKernelStats &kstats);
|
|
acl_error ACL_API_ENTRY
|
|
aclInsertKernelStatistics(aclCompiler *cl,
|
|
aclBinary *bin);
|
|
//! Define hardware info constants for SI and above devices
|
|
const static unsigned SI_sgprs_avail = 102;
|
|
const static unsigned SI_vgprs_avail = 256;
|
|
const static unsigned SI_ldssize_avail = 32*1024;
|
|
|
|
//!--------------------------------------------------------------------------!//
|
|
// Functions that deal with memory.
|
|
// Free memory allocated by aclWriteToMem
|
|
//!--------------------------------------------------------------------------!//
|
|
acl_error ACL_API_ENTRY
|
|
aclFreeMem(aclBinary *bin,
|
|
void *mem);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // _ACL_0_8_H_
|