P4 to Git Change 1084301 by xcui@merged_opencl_jxcwin on 2014/10/03 21:15:33

EPR #406328 - changed the device open algorithm so that the we only open the first OpenCL device. This is the OPENCL runtime changes, but this will be removed once we implemented multiple device support for SVM.

	the code review and precheckin test:
	http://ocltc.amd.com/reviews/r/5942/
	http://ocltc.amd.com:8111/viewModification.html?modId=40902&personal=true&buildTypeId=&tab=vcsModificationBuilds&show_all_builds=true

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#466 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#287 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.hpp#87 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/include/cal/cal.h#29 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#100 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.h#40 edit


[ROCm/clr commit: c248f04970]
이 커밋은 다음에 포함됨:
foreman가 2014-10-03 21:28:36 -04:00를 커밋했습니다
1 부모 68dcf2f2d5
커밋 d33f062a8e
5 파일이 변경됨
+7 -10

검색과 일치하는 파일 없음

+2 -5
파일 보기
@@ -756,11 +756,8 @@ Device::create(CALuint ordinal, CALuint numOfDevices)
appProfile_.init();
// Open GSL device
bool reportOCL12Device = (OPENCL_VERSION < 200);
reportOCL12Device = (numOfDevices < 2) ? (OPENCL_VERSION < 200) : true;
if (!open(ordinal, appProfile_.enableHighPerformanceState(),
appProfile_.reportAsOCL12Device() || reportOCL12Device)) {
appProfile_.reportAsOCL12Device())) {
return false;
}
@@ -775,7 +772,7 @@ Device::create(CALuint ordinal, CALuint numOfDevices)
#if cl_amd_open_video
, getVideoAttribs()
#endif // cl_amd_open_video
, appProfile_.reportAsOCL12Device() || reportOCL12Device
, appProfile_.reportAsOCL12Device()
)) {
return false;
}
+2 -5
파일 보기
@@ -291,14 +291,11 @@ Settings::create(
if (ciPlus_) {
libSelector_ = amd::GPU_Library_CI;
#if defined(_LP64)
oclVersion_ = reportAsOCL12Device ? OpenCL12 : XCONCAT(OpenCL,XCONCAT(OPENCL_MAJOR,OPENCL_MINOR));
oclVersion_ = !reportAsOCL12Device && calAttr.isOpenCL200Device ? XCONCAT(OpenCL, XCONCAT(OPENCL_MAJOR, OPENCL_MINOR)) : OpenCL12;
#endif
if (calAttr.numOfVpu > 1) {
oclVersion_ = OpenCL12;
}
if (GPU_FORCE_OCL20_32BIT) {
force32BitOcl20_ = true;
oclVersion_ = reportAsOCL12Device ? OpenCL12 : XCONCAT(OpenCL,XCONCAT(OPENCL_MAJOR,OPENCL_MINOR));
oclVersion_ = !reportAsOCL12Device && calAttr.isOpenCL200Device ? XCONCAT(OpenCL, XCONCAT(OPENCL_MAJOR, OPENCL_MINOR)) : OpenCL12;
}
if (hsail_ || (OPENCL_VERSION < 200)) {
oclVersion_ = OpenCL12;
+1
파일 보기
@@ -238,6 +238,7 @@ typedef struct CALdeviceattribsRec {
CALuint64 vaEnd; /**< VA end address */
bool isWorkstation; /**< Whether Device is a Workstation/Server part */
CALuint numOfVpu; /**< number of vpu in the device*/
bool isOpenCL200Device; /**< the flag to mark if the device is OpenCL 200*/
} CALdeviceattribs;
/** CAL device status */
+1
파일 보기
@@ -155,6 +155,7 @@ CALGSLDevice::getAttribs_int(gsl::gsCtx* cs)
m_attribs.vaStart = static_cast<CALuint64>(m_adp->pAsicInfo->vaStart);
m_attribs.vaEnd = static_cast<CALuint64>(m_adp->pAsicInfo->vaEnd);
m_attribs.numOfVpu = m_adp->pAsicInfo->numberOfVPU;
m_attribs.isOpenCL200Device = m_adp->pAsicInfo->bIsOpen2Device;
}
void
+1
파일 보기
@@ -209,6 +209,7 @@ private:
CALdevicestatus m_deviceStatus;
gslTextureResourceObject m_textureResource;
gslSamplerObject m_textureSampler;
bool m_isOpenCL200Device;
union {
struct {