P4 to Git Change 1079216 by emankov@em-hsa-amd on 2014/09/22 08:18:24

ECR #333753 - Compiler Lib/RT: Metadata related code refactor, annotation, minor fixes & additional checks

	+ refactor if_aclQueryInfo() in order to simplify code and to avoid direct usage of aclMetadata struct members types
	+ annotation on why we need to use deserializeCLMetadata on "serialized" (to NULL) pointers
	+ erroneously forgotten RT_KERNEL_NAME was added to aclQueryType enum
	+ OCLRTGetInfo, CLEnumCheck tests from ocltst oclcomplib was updated to use RT_KERNEL_NAME
	+ testing of printf is added to OCLRTGetInfo
	+ minor fixes and additional checks

	tests: pre check-in, ocltst -m oclcomplib

	Reviewers: Artem Tamazov, Brian Sumner, German Andryeyev

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#49 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#265 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/clSourceShaders.h#5 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/oclrtGetInfo.cpp#14 edit
This commit is contained in:
foreman
2014-09-22 08:24:39 -04:00
parent 9f99843ca0
commit d50fa706e3
4 changed files with 247 additions and 221 deletions
+9 -8
View File
@@ -3612,25 +3612,26 @@ HSAILKernel::init(bool finalize)
delete [] aclPrintfList;
}
bool hasKernelEnqueue = false;
size_t sizeOfDeviceEnqueue = sizeof(hasKernelEnqueue);
aclMetadata md;
md.enqueue_kernel = false;
size_t sizeOfDeviceEnqueue = sizeof(md.enqueue_kernel);
error = aclQueryInfo(dev().hsaCompiler(), prog().binaryElf(),
RT_DEVICE_ENQUEUE, openClKernelName.c_str(),
&hasKernelEnqueue, &sizeOfDeviceEnqueue);
&md.enqueue_kernel, &sizeOfDeviceEnqueue);
if (error != ACL_SUCCESS) {
return false;
}
flags_.dynamicParallelism_ = hasKernelEnqueue;
flags_.dynamicParallelism_ = md.enqueue_kernel;
int index = -1;
size_t sizeOfIndex = sizeof(index);
md.kernel_index = -1;
size_t sizeOfIndex = sizeof(md.kernel_index);
error = aclQueryInfo(dev().hsaCompiler(), prog().binaryElf(),
RT_KERNEL_INDEX, openClKernelName.c_str(),
&index, &sizeOfIndex);
&md.kernel_index, &sizeOfIndex);
if (error != ACL_SUCCESS) {
return false;
}
index_ = static_cast<uint>(index);
index_ = md.kernel_index;
return true;
}