[Beignet] [PATCH] driver/runtime: get global mem size dynamically
Pan, Xiuli
xiuli.pan at intel.com
Fri Oct 9 00:55:03 PDT 2015
Forget to delete the debug functions, will send a new version.
-----Original Message-----
From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of Pan Xiuli
Sent: Friday, October 9, 2015 3:47 PM
To: beignet at lists.freedesktop.org
Cc: Pan, Xiuli <xiuli.pan at intel.com>
Subject: [Beignet] [PATCH] driver/runtime: get global mem size dynamically
The gen8 and higher gpu can have more than 2G mem, so we dynamically get the global mem size.
Signed-off-by: Pan Xiuli <xiuli.pan at intel.com>
---
src/cl_device_id.c | 6 +++---
src/intel/intel_driver.c | 7 +++++++
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/cl_device_id.c b/src/cl_device_id.c index 78d2cf4..c3bd35f 100644
--- a/src/cl_device_id.c
+++ b/src/cl_device_id.c
@@ -550,10 +550,10 @@ skl_gt4_break:
struct sysinfo info;
if (sysinfo(&info) == 0) {
- uint64_t two_gb = 2 * 1024 * 1024 * 1024ul;
+ uint64_t totalgpumem = ret->global_mem_size;
uint64_t totalram = info.totalram * info.mem_unit;
- ret->global_mem_size = (totalram > two_gb) ?
- two_gb : info.totalram;
+ ret->global_mem_size = (totalram > totalgpumem) ?
+ totalgpumem: totalram;
ret->max_mem_alloc_size = ret->global_mem_size / 2;
}
diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c index 035a103..32198e8 100644
--- a/src/intel/intel_driver.c
+++ b/src/intel/intel_driver.c
@@ -130,6 +130,7 @@ intel_driver_memman_init(intel_driver_t *driver)
drm_intel_bufmgr_gem_enable_reuse(driver->bufmgr);
driver->device_id = drm_intel_bufmgr_gem_get_devid(driver->bufmgr);
intel_driver_aub_dump(driver);
+ if(getenv("DRMDBG")) drm_intel_bufmgr_set_debug(driver->bufmgr,1);
return 1;
}
@@ -829,6 +830,12 @@ intel_update_device_info(cl_device_id device)
if (IS_CHERRYVIEW(device->device_id))
printf(CHV_CONFIG_WARNING);
#endif
+ //We should get the device memory dynamically, also the //mapablce
+ mem size usage is unknown. Still use global_mem_size/2 //as
+ max_mem_alloc_size in cl_get_gt_device.
+ size_t total_mem,map_mem;
+ drm_intel_get_aperture_sizes(driver->fd,&map_mem,&total_mem);
+ device->global_mem_size = total_mem;
intel_driver_context_destroy(driver);
intel_driver_close(driver);
--
2.1.4
_______________________________________________
Beignet mailing list
Beignet at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list