P4 to Git Change 1208929 by emankov@em-hsa-amd on 2015/11/09 10:49:06
SWDEV-77584 - ORCA RT: Preparations for enabling HSAIL on OpenCL 1.2 by default. Integrate new algorithm for device program choice. [Reasons] 1. Make the switching change as less as possible. 2. Give a chance to test HSA_foundation device work on OCL 1.2 beforehand (asked by Nikolay). Almost already reviewed: http://ocltc.amd.com/reviews/r/8850/ Additionally: 1. Linking logic was changed: if the target of one of the binaries is hsail-(64) linking goes through HSAIL, otherwise - through AMDIL. Previously -cl-std=CL2.0 in any of the linking binaries was a criterion for HSAIL, what will be wrong for HSAIL 1.2 after switching. -clang & -edg options are set now to distinguish the path while linking. 2. -cl-std=CL2.0 as a criterion for HSAIL was returned back in isHSAILProgram() method; -clang & -edg options were also added as a criterion. [ToDo] After enabling HSAIL by default remove -cl-std, -clang & -edg checks from the code. [Testing] Pre-checkin http://ocltc.amd.com:8111/viewModification.html?modId=61929&personal=true&buildTypeId=&tab=vcsModificationBuilds&show_all_builds=true [Reviewers] German Andryeyev, Nikolay Haustov Affected files ... ... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_program.cpp#39 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.cpp#279 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.hpp#93 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#261 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#534 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#154 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.cpp#47 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/hsa_foundation/hsadevice.hpp#22 edit ... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#76 edit ... //depot/stg/opencl/drivers/opencl/runtime/platform/program.hpp#38 edit
Esse commit está contido em:
@@ -220,7 +220,7 @@ RUNTIME_ENTRY_RET(cl_program, clCreateProgramWithILKHR, (
|
||||
const std::vector<amd::Device*>& devices = as_amd(context)->devices();
|
||||
std::vector<amd::Device*>::const_iterator it;
|
||||
for (it = devices.begin(); it != devices.end(); ++it) {
|
||||
if (program->addDeviceProgram(**it, il, length, true) ==
|
||||
if (program->addDeviceProgram(**it, il, length) ==
|
||||
CL_OUT_OF_HOST_MEMORY) {
|
||||
*not_null(errcode_ret) = CL_OUT_OF_HOST_MEMORY;
|
||||
program->release();
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário