[clinfo] 05/55: Support cl_arm_shared_virtual_memory
Andreas Beckmann
anbe at moszumanska.debian.org
Sat Jan 13 14:39:59 UTC 2018
This is an automated email from the git hooks/post-receive script.
anbe pushed a commit to branch master
in repository clinfo.
commit 867b36676e238cbeb8e6c3d1cecb3728f15cf6dc
Author: Giuseppe Bilotta <giuseppe.bilotta at gmail.com>
Date: Sat Jul 16 19:19:01 2016 +0200
Support cl_arm_shared_virtual_memory
---
man/clinfo.1 | 2 ++
src/clinfo.c | 22 +++++++++++++---------
src/ext.h | 3 +++
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/man/clinfo.1 b/man/clinfo.1
index 4ade4e8..f1125ae 100644
--- a/man/clinfo.1
+++ b/man/clinfo.1
@@ -79,6 +79,8 @@ to show offline devices exposed by the platform, if requested (see
option);
.TP
.B cl_amd_svm
+.TQ
+.B cl_arm_shared_virtual_memory
for Shared Virtual Memory (SVM) capabilities in OpenCL 1.2 devices;
.TP
.B cl_nv_device_attribute_query
diff --git a/src/clinfo.c b/src/clinfo.c
index 62c98cc..98c1b3f 100644
--- a/src/clinfo.c
+++ b/src/clinfo.c
@@ -554,7 +554,8 @@ struct device_info_checks {
char has_double[24];
char has_nv[29];
char has_amd[30];
- char has_svm_ext[11];
+ char has_amd_svm[11];
+ char has_arm_svm[29];
char has_fission[22];
char has_atomic_counters[26];
char has_image2d_buffer[27];
@@ -577,7 +578,8 @@ DEFINE_EXT_CHECK(half)
DEFINE_EXT_CHECK(double)
DEFINE_EXT_CHECK(nv)
DEFINE_EXT_CHECK(amd)
-DEFINE_EXT_CHECK(svm_ext)
+DEFINE_EXT_CHECK(amd_svm)
+DEFINE_EXT_CHECK(arm_svm)
DEFINE_EXT_CHECK(fission)
DEFINE_EXT_CHECK(atomic_counters)
DEFINE_EXT_CHECK(image2d_buffer)
@@ -630,7 +632,7 @@ int dev_is_gpu_amd(const struct device_info_checks *chk)
int dev_has_svm(const struct device_info_checks *chk)
{
- return dev_is_20(chk) || dev_has_svm_ext(chk);
+ return dev_is_20(chk) || dev_has_amd_svm(chk);
}
int dev_has_partition(const struct device_info_checks *chk)
@@ -692,7 +694,8 @@ void identify_device_extensions(const char *extensions, struct device_info_check
CHECK_EXT(double, cl_APPLE_fp64_basic_ops);
CHECK_EXT(nv, cl_nv_device_attribute_query);
CHECK_EXT(amd, cl_amd_device_attribute_query);
- CHECK_EXT(svm_ext, cl_amd_svm);
+ CHECK_EXT(amd_svm, cl_amd_svm);
+ CHECK_EXT(arm_svm, cl_arm_shared_virtual_memory);
CHECK_EXT(fission, cl_ext_device_fission);
CHECK_EXT(atomic_counters, cl_ext_atomic_counters_64);
if (dev_has_atomic_counters(chk))
@@ -1558,8 +1561,8 @@ int device_info_svm_cap(cl_device_id dev, cl_device_info param, const char *pnam
const struct device_info_checks *chk)
{
cl_device_svm_capabilities val = 0;
- int is_20 = dev_is_20(chk);
- int has_svm_ext = dev_has_svm_ext(chk);
+ const int is_20 = dev_is_20(chk);
+ const int has_amd_svm = (param == CL_DEVICE_SVM_CAPABILITIES && dev_has_amd_svm(chk));
GET_VAL;
@@ -1569,12 +1572,12 @@ int device_info_svm_cap(cl_device_id dev, cl_device_info param, const char *pnam
const char * const *scstr = (output_mode == CLINFO_HUMAN ?
svm_cap_str : svm_cap_raw_str);
set_separator(vbar_str);
- if (output_mode == CLINFO_HUMAN) {
+ if (output_mode == CLINFO_HUMAN && param == CL_DEVICE_SVM_CAPABILITIES) {
/* show 'why' it's being shown */
szval += sprintf(strbuf, "(%s%s%s)",
(is_20 ? core : empty_str),
- (is_20 && has_svm_ext ? comma_str : empty_str),
- chk->has_svm_ext);
+ (is_20 && has_amd_svm ? comma_str : empty_str),
+ chk->has_amd_svm);
}
for (i = 0; i < svm_cap_count; ++i) {
cl_device_svm_capabilities cur = (cl_device_svm_capabilities)(1) << i;
@@ -1716,6 +1719,7 @@ struct device_info_traits dinfo_traits[] = {
{ CLINFO_BOTH, DINFO(CL_DEVICE_INTEGRATED_MEMORY_NV, "Integrated memory (NV)", bool), dev_has_nv },
{ CLINFO_BOTH, DINFO(CL_DEVICE_SVM_CAPABILITIES, "Shared Virtual Memory (SVM) capabilities", svm_cap), dev_has_svm },
+ { CLINFO_BOTH, DINFO(CL_DEVICE_SVM_CAPABILITIES_ARM, "Shared Virtual Memory (SVM) capabilities (ARM)", svm_cap), dev_has_arm_svm },
/* Alignment */
{ CLINFO_BOTH, DINFO_SFX(CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE, "Minimum alignment for any data type", bytes_str, int), NULL },
diff --git a/src/ext.h b/src/ext.h
index 7986b9f..0393d95 100644
--- a/src/ext.h
+++ b/src/ext.h
@@ -152,6 +152,9 @@ typedef cl_ulong cl_device_partition_property_ext;
#define CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM 0x40A0
#define CL_DEVICE_PAGE_SIZE_QCOM 0x40A1
+/* cl_arm_shared_virtual_memory */
+#define CL_DEVICE_SVM_CAPABILITIES_ARM 0x40B6
+
/* cl_khr_spir */
#define CL_DEVICE_SPIR_VERSIONS 0x40E0
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opencl/clinfo.git
More information about the Pkg-opencl-commits
mailing list