P4 to Git Change 1303140 by lmoriche@lmoriche_opencl_dev on 2016/08/15 17:04:37
SWDEV-94610 - Code provided by Wilkin - Implement the roc Program Manager to call the Lightning Compiler instead of the compiler library. - Embed and use the pre-compiled header generated by the built-in library build - If LLVM_BIN is not set, try to find Clang from the libamdocl path Testing: http://ocltc.amd.com:8111/viewModification.html?modId=75068&personal=true&buildTypeId=&tab=vcsModificationBuilds&show_all_builds=true Affected files ... ... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/elf/elf.cpp#35 edit ... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/elf/elf.hpp#24 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/blitcl.cpp#9 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#200 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/build/Makefile.oclrocm#7 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#5 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#7 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#5 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.hpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmetadata.cpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmetadata.hpp#1 add ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#7 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#5 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#8 edit ... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#81 edit
This commit is contained in:
@@ -140,14 +140,21 @@ Device::BlitProgram::create(amd::Device* device,
|
||||
}
|
||||
|
||||
// Build all kernels
|
||||
#if defined(WITH_LIGHTNING_COMPILER)
|
||||
std::string opt = "";
|
||||
#else // !defined(WITH_LIGHTNING_COMPILER)
|
||||
std::string opt = "-Wf,--force_disable_spir -fno-lib-no-inline "\
|
||||
"-fno-sc-keep-calls -cl-internal-kernel ";
|
||||
#endif // !defined(WITH_LIGHTNING_COMPILER)
|
||||
|
||||
if (extraOptions != NULL) {
|
||||
opt += extraOptions;
|
||||
}
|
||||
#if !defined(WITH_LIGHTNING_COMPILER)
|
||||
if (!GPU_DUMP_BLIT_KERNELS) {
|
||||
opt += " -fno-enable-dump";
|
||||
}
|
||||
#endif // !defined(WITH_LIGHTNING_COMPILER)
|
||||
if (CL_SUCCESS != program_->build(devices, opt.c_str(),
|
||||
NULL, NULL, GPU_DUMP_BLIT_KERNELS)) {
|
||||
return false;
|
||||
@@ -1248,7 +1255,11 @@ Program::setBinary(char* binaryIn, size_t size)
|
||||
return false;
|
||||
}
|
||||
|
||||
#if defined(WITH_LIGHTNING_COMPILER)
|
||||
if (!clBinary()->setElfIn(ELFCLASS64)) {
|
||||
#else // !defined(WITH_LIGHTNING_COMPILER)
|
||||
if (!clBinary()->setElfIn(ELFCLASS32)) {
|
||||
#endif // !defined(WITH_LIGHTNING_COMPILER)
|
||||
LogError("Setting input OCL binary failed");
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user