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]
Cette révision appartient à :
foreman
2014-10-03 21:28:36 -04:00
Parent 68dcf2f2d5
révision d33f062a8e
5 fichiers modifiés avec 7 ajouts et 10 suppressions
+2 -5
Voir le fichier
@@ -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
Voir le fichier
@@ -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
Voir le fichier
@@ -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
Voir le fichier
@@ -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
Voir le fichier
@@ -209,6 +209,7 @@ private:
CALdevicestatus m_deviceStatus;
gslTextureResourceObject m_textureResource;
gslSamplerObject m_textureSampler;
bool m_isOpenCL200Device;
union {
struct {