Fix confusion in hipFuncGetAttribute()
Cuda shared == OpenCL local
Cuda local == OpenCL private
Change-Id: I5a204945ecde35919b9e9def20bbb2662fffea2b
[ROCm/hip commit: a373538d72]
Tá an tiomantas seo le fáil i:
tiomanta ag
Vladislav Sytchenko
tuismitheoir
d80c0b6cd1
tiomantas
2e98030e46
@@ -314,8 +314,7 @@ hipError_t hipFuncGetAttribute(int* value, hipFunction_attribute attrib, hipFunc
|
|||||||
|
|
||||||
switch(attrib) {
|
switch(attrib) {
|
||||||
case HIP_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES:
|
case HIP_FUNC_ATTRIBUTE_SHARED_SIZE_BYTES:
|
||||||
*value = static_cast<int>(wrkGrpInfo->localMemSize_
|
*value = static_cast<int>(wrkGrpInfo->localMemSize_);
|
||||||
- wrkGrpInfo->privateMemSize_);
|
|
||||||
break;
|
break;
|
||||||
case HIP_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK:
|
case HIP_FUNC_ATTRIBUTE_MAX_THREADS_PER_BLOCK:
|
||||||
*value = static_cast<int>(wrkGrpInfo->wavefrontPerSIMD_
|
*value = static_cast<int>(wrkGrpInfo->wavefrontPerSIMD_
|
||||||
@@ -325,7 +324,7 @@ hipError_t hipFuncGetAttribute(int* value, hipFunction_attribute attrib, hipFunc
|
|||||||
*value = 0;
|
*value = 0;
|
||||||
break;
|
break;
|
||||||
case HIP_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES:
|
case HIP_FUNC_ATTRIBUTE_LOCAL_SIZE_BYTES:
|
||||||
*value = static_cast<int>(wrkGrpInfo->localMemSize_);
|
*value = static_cast<int>(wrkGrpInfo->privateMemSize_);
|
||||||
break;
|
break;
|
||||||
case HIP_FUNC_ATTRIBUTE_NUM_REGS:
|
case HIP_FUNC_ATTRIBUTE_NUM_REGS:
|
||||||
*value = static_cast<int>(wrkGrpInfo->availableGPRs_);
|
*value = static_cast<int>(wrkGrpInfo->availableGPRs_);
|
||||||
@@ -340,7 +339,7 @@ hipError_t hipFuncGetAttribute(int* value, hipFunction_attribute attrib, hipFunc
|
|||||||
*value = 0;
|
*value = 0;
|
||||||
break;
|
break;
|
||||||
case HIP_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES:
|
case HIP_FUNC_ATTRIBUTE_MAX_DYNAMIC_SHARED_SIZE_BYTES:
|
||||||
*value = static_cast<int>(wrkGrpInfo->availableLDSSize_);
|
*value = static_cast<int>(wrkGrpInfo->availableLDSSize_ - wrkGrpInfo->localMemSize_);
|
||||||
break;
|
break;
|
||||||
case HIP_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT:
|
case HIP_FUNC_ATTRIBUTE_PREFERRED_SHARED_MEMORY_CARVEOUT:
|
||||||
*value = 0;
|
*value = 0;
|
||||||
|
|||||||
@@ -310,8 +310,9 @@ bool ihipGetFuncAttributes(const char* func_name, amd::Program* program, hipFunc
|
|||||||
}
|
}
|
||||||
|
|
||||||
const device::Kernel::WorkGroupInfo* wginfo = it->second->workGroupInfo();
|
const device::Kernel::WorkGroupInfo* wginfo = it->second->workGroupInfo();
|
||||||
func_attr->localSizeBytes = wginfo->localMemSize_;
|
func_attr->localSizeBytes = wginfo->privateMemSize_;
|
||||||
func_attr->sharedSizeBytes = wginfo->size_;
|
func_attr->sharedSizeBytes = wginfo->localMemSize_;
|
||||||
|
func_attr->maxDynamicSharedSizeBytes = wginfo->availableLDSSize_ - wginfo->localMemSize_;
|
||||||
func_attr->maxThreadsPerBlock = wginfo->wavefrontSize_;
|
func_attr->maxThreadsPerBlock = wginfo->wavefrontSize_;
|
||||||
func_attr->numRegs = wginfo->usedVGPRs_;
|
func_attr->numRegs = wginfo->usedVGPRs_;
|
||||||
|
|
||||||
|
|||||||
Tagairt in Eagrán Nua
Cuir bac ar úsáideoir