P4 to Git Change 1075455 by shxiao@profilerworksp on 2014/09/10 14:12:27

EPR #403493 - Block index error for CI and VI, OCL code change

	Problem description: The OCL implementation requires HSA to used different block index values for CI and VI. However, the same index value is used for the same counter block in both CI and VI, which in turn caused a segmentation fault.

	Root cause: HSA implementation does not know this situation before hand.

	Solution: Fix to use different counter block index in CI from that in VI

	Functional area: HSA perf counter implementation...

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/hsa/hsacounters.cpp#4 edit
This commit is contained in:
foreman
2014-09-10 15:04:08 -04:00
parent d35be99f01
commit f517eefd51
+1 -1
View File
@@ -40,7 +40,7 @@ PerfCounter::create(HsaPmu hsaPmu)
{
HsaStatus status;
hsaPmu_ = hsaPmu;
HsaCounterBlockId blockIndex = static_cast<HsaCounterBlockId>(info()->blockIndex_);
uint32_t blockIndex = static_cast<uint32_t>(info()->blockIndex_);
status = servicesapi->HsaPmuGetCounterBlockById(hsaPmu_, blockIndex, &counter_block_);
if (status != kHsaStatusSuccess) {
LogError("HsaPmuGetCounterBlockById, failed");