06056e3adc
SWDEV-94640 - [OCL-LC-ROCm] OpenCL Runtime Library Implements OpenCL runtime API. Add HSA virtual device to ORCA. - Rename hsa_foundation to ROCm Affected files ... ... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/build/Makefile.api#133 edit ... //depot/stg/opencl/drivers/opencl/runtime/Makefile#22 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#196 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#275 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/Makefile#2 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/build/Makefile#2 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/build/Makefile.oclhsa#7 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaappprofile.cpp#4 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaappprofile.hpp#3 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsabinary.cpp#2 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsabinary.hpp#3 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsablit.cpp#17 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsablit.hpp#5 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsacompiler.cpp#6 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsacompilerlib.cpp#3 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsacompilerlib.hpp#3 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadefs.hpp#6 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.cpp#65 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.hpp#31 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaglinterop.cpp#3 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaglinterop.hpp#3 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsakernel.cpp#18 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsakernel.hpp#12 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsamemory.cpp#27 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsamemory.hpp#13 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprintf.cpp#2 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprintf.hpp#2 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.cpp#28 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaprogram.hpp#11 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsaregisters.hpp#2 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsasettings.cpp#13 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsasettings.hpp#8 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.cpp#67 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsavirtual.hpp#28 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/mesa_glinterop.h#2 delete ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/Makefile#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/build/Makefile#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/build/Makefile.oclrocm#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/build/wNow64a/Makefile#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/mesa_glinterop.h#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocappprofile.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocappprofile.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocbinary.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocblit.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompilerlib.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompilerlib.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdefs.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocglinterop.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocglinterop.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmemory.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmemory.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprintf.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprintf.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocregisters.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.hpp#1 add
60 wiersze
1.5 KiB
C++
60 wiersze
1.5 KiB
C++
#include "roccompilerlib.hpp"
|
|
#include "utils/flags.hpp"
|
|
|
|
#include "acl.h"
|
|
|
|
namespace roc {
|
|
|
|
void* g_complibModule = NULL;
|
|
struct CompLibApi g_complibApi;
|
|
|
|
//
|
|
// g_complibModule is defined in LoadCompLib(). This macro must be used only in LoadCompLib() function.
|
|
//
|
|
#define LOADSYMBOL(api) \
|
|
g_complibApi._##api = (pfn_##api) amd::Os::getSymbol(g_complibModule, #api); \
|
|
if( g_complibApi._##api == NULL ) { \
|
|
LogError ("amd::Os::getSymbol() for exported func " #api " failed."); \
|
|
amd::Os::unloadLibrary(g_complibModule); \
|
|
return false; \
|
|
}
|
|
|
|
bool LoadCompLib(bool offline)
|
|
{
|
|
g_complibModule = amd::Os::loadLibrary("amdhsacl" LP64_SWITCH(LINUX_SWITCH("32",""), "64"));
|
|
if( g_complibModule == NULL ) {
|
|
if (!offline) {
|
|
LogError( "amd::Os::loadLibrary() for loading of amdhsacl.dll failed.");
|
|
}
|
|
return false;
|
|
}
|
|
|
|
LOADSYMBOL(aclCompilerInit)
|
|
LOADSYMBOL(aclGetTargetInfo)
|
|
LOADSYMBOL(aclBinaryInit)
|
|
LOADSYMBOL(aclInsertSection)
|
|
LOADSYMBOL(aclCompile)
|
|
LOADSYMBOL(aclCompilerFini)
|
|
LOADSYMBOL(aclBinaryFini)
|
|
LOADSYMBOL(aclWriteToMem)
|
|
LOADSYMBOL(aclQueryInfo)
|
|
LOADSYMBOL(aclExtractSymbol)
|
|
LOADSYMBOL(aclGetCompilerLog)
|
|
LOADSYMBOL(aclCreateFromBinary)
|
|
LOADSYMBOL(aclReadFromMem)
|
|
LOADSYMBOL(aclBinaryVersion)
|
|
LOADSYMBOL(aclLink)
|
|
|
|
return true;
|
|
}
|
|
|
|
void UnloadCompLib()
|
|
{
|
|
if( g_complibModule )
|
|
{
|
|
amd::Os::unloadLibrary(g_complibModule);
|
|
}
|
|
}
|
|
|
|
} // namespace roc
|