Code Monkey home page Code Monkey logo

clinfo's People

Contributors

andreygursky avatar bdenhollander avatar bwarden avatar ddeka2910 avatar jbeich avatar kerilk avatar kippesp avatar kou1okada avatar magnumripper avatar oblomov avatar paulmenzel avatar rindeal avatar ruiling-song avatar rye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

clinfo's Issues

Help wanted

I already installed Clinfo in direct termux.... And it's success...
But I really wanted to Help... Please help me 🙏🙏🙏🙏
I want to build Clinfo in TermuxArch under termux...
Can it possible ?..
Please help me... I really want help for this...

segfault with CUDA 11.3

Using Ubuntu 20.04 LTS
CUDA 11.3

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 465.19.01    Driver Version: 465.19.01    CUDA Version: 11.3     |
|-------------------------------+----------------------+----------------------+

output from clinfo:

$ clinfo
Number of platforms                               2
  Platform Name                                   ICD_LOADER_TEST_OPENCL_STUB
  Platform Vendor                                 stubvendorxxx
  Platform Version                                OpenCL 1.2 Stub
  Platform Profile                                stubprofilexxx
  Platform Extensions                             cl_khr_icd cl_khr_gl cl_khr_d3d10
  Platform Extensions function suffix             ilts
Segmentation fault (core dumped)

stack trace

(gdb) run
Starting program: /home/user/inst/clinfo/clinfo/clinfo
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Number of platforms                               2
  Platform Name                                   ICD_LOADER_TEST_OPENCL_STUB
  Platform Vendor                                 stubvendorxxx
  Platform Version                                OpenCL 1.2 Stub
  Platform Profile                                stubprofilexxx
  Platform Extensions                             cl_khr_icd cl_khr_gl cl_khr_d3d10
  Platform Extensions function suffix             ilts

Program received signal SIGSEGV, Segmentation fault.
__vfprintf_internal (s=0x0, format=0x7ffff7970f08 "clGetDeviceIDs(%p, %x, %u, %p, %p)\n", ap=0x7fffffffda00, mode_flags=0) at vfprintf-internal.c:1328
1328	vfprintf-internal.c: No such file or directory.
(gdb) bt
#0  __vfprintf_internal (s=0x0, format=0x7ffff7970f08 "clGetDeviceIDs(%p, %x, %u, %p, %p)\n", ap=0x7fffffffda00, mode_flags=0) at vfprintf-internal.c:1328
#1  0x00007ffff7766c60 in test_icd_stub_log () from /home/user/inst/OpenCL-ICD-Loader/build/lib/libIcdLog.so
#2  0x00007ffff796bc1b in ___clGetDeviceIDs () from /home/user/inst/OpenCL-ICD-Loader/build/lib/libOpenCLDriverStub.so
#3  0x000055555555d6ed in gatherPlatformInfo (plist=0x7fffffffdc80, p=0, output=0x7fffffffdc40) at src/clinfo.c:925
#4  0x000055555556a5e5 in main (argc=1, argv=0x7fffffffddc8) at src/clinfo.c:4116

stepping up shows that clGetDeviceIDs is called on line 925 ret.err = clGetDeviceIDs(loc.plat, CL_DEVICE_TYPE_ALL, 0, NULL, &pdata->ndevs); with loc.plat = (cl_platform_id) 0x555555581b10, CL_DEVICE_TYPE_ALL = 4294967295, pdata->nvdevs = 1

With some helpers, I figured out that the last file it tried to open was /usr/lib/x86_64-linux-gnu/libcuda.so.1
which is a symlink to libcuda.so.465.19.01
The find_problem script find /etc/OpenCL/vendors/ -name '*.icd' | while read OPENCL_VENDOR_PATH ; do ./clinfo -l > /dev/null ; echo "$? ${OPENCL_VENDOR_PATH}" ; done
outputs

./find_problem.sh: line 2: 57825 Segmentation fault      (core dumped) ./clinfo -l > /dev/null
139 /etc/OpenCL/vendors/test.icd
./find_problem.sh: line 2: 57828 Segmentation fault      (core dumped) ./clinfo -l > /dev/null
139 /etc/OpenCL/vendors/nvidia.icd

/etc/OpenCL/vendors/nvidia.icd just contains libnvidia-opencl.so.1 which is found at /usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.1

Any ideas what the issue could be?

main:670: number of platforms : error -1001

Using an intel ivy bridge laptop I get the following when I run clinfo.
main:670: number of platforms : error -1001
Not sure if that's expected or not, but I think this chip supports opencl.

CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT check for doubles

clinfo checks both CL_DEVICE_SINGLE_FP_CONFIG and CL_DEVICE_DOUBLE_FP_CONFIG for CL_FP_CORRECTLY_ROUNDED_DIVIDE_SQRT, and shows "No" for DOUBLE_FP_CONFIG.

Which is a bug because that flag is not present in DOUBLE_FP_CONFIG (correctly rounded sqrt/div is mandatory by spec for doubles)

clinfo fails but beignet utests work

Using clinfo from git as of today with a linux 64-bit system (linux-4.8.17 llvm-4.0.1 mesa-17.2.0) fails:

$ clinfo
: CommandLine Error: Option 'enable-value-profiling' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

..but opencl seems to be working from the beignet tests:

$ ./utest_run

platform number 1
platform_profile "FULL_PROFILE"
platform_name "Intel Gen OCL Driver"
platform_vendor "Intel"
platform_version "OpenCL 2.0 beignet 1.4 (git-afd050f)"
platform_extensions "cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_intel_media_block_io cl_intel_planar_yuv cl_khr_gl_sharing"
device_profile "FULL_PROFILE"
device_name "Intel(R) HD Graphics Haswell Ultrabook GT2 Mobile"
device_vendor "Intel"
device_version "OpenCL 1.2 beignet 1.4 (git-afd050f)"
device_extensions "cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_intel_media_block_io cl_intel_planar_yuv cl_khr_gl_sharing"
device_opencl_c_version "OpenCL C 1.2 beignet 1.4 (git-afd050f)"
27 image formats are supported
[CL_R CL_UNORM_INT8]
...

Weird ouput @ FreeBSD-11.0/Intel GPU

# uname -opr
FreeBSD 11.0-RELEASE-p1 amd64

# sysctl hw.model 
hw.model: Intel(R) Xeon(R) CPU E3-1265L v3 @ 2.50GHz

# pkg info | grep beignet
beignet-1.2.0                  OpenCL library for Intel GPUs

# clinfo -v
clinfo version 2.1.16.01.12

# clinfo 
Device open failed, aborting...
Number of platforms                               1
  Platform Name                                   Intel Gen OCL Driver
  Platform Vendor                                 Intel
  Platform Version                                OpenCL 1.2 beignet 1.2
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_motion_estimation cl_intel_subgroups
  Platform Extensions function suffix             Intel
Device open failed, aborting...
cl_get_gt_device(): error, unknown device: ffffffff

  Platform Name                                   Intel Gen OCL Driver
Number of devices                                 0

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Intel Gen OCL Driver
Device open failed, aborting...
cl_get_gt_device(): error, unknown device: ffffffff
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Intel Gen OCL Driver
  clCreateContext(NULL, ...) [default]            No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
Device open failed, aborting...
cl_get_gt_device(): error, unknown device: ffffffff
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
Device open failed, aborting...
cl_get_gt_device(): error, unknown device: ffffffff
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No devices found in platform

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.2.7
  ICD loader Profile                              OpenCL 1.2
    NOTE:   your OpenCL library declares to support OpenCL 1.2,
        but it seems to support up to OpenCL 2.0 too.
Nothing to output !

What do all of this mean?

Segfault on any invocation on archlinux

Hello,

For some reason, I always get a segfault on arch linux. I've tested with the clover and pocl back-ends, but the behavior is very similar. This may not be the root of the actual bug, but it is the only place I know to start.

[anadon@doge ~]$ clinfo
Segmentation fault (core dumped)
[anadon@doge ~]$ gdb clinfo
GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from clinfo...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/clinfo 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5f1a9cb in __pthread_initialize_minimal_internal () from /usr/lib/libpthread.so.0
(gdb) bt
#0  0x00007ffff5f1a9cb in __pthread_initialize_minimal_internal () from /usr/lib/libpthread.so.0
#1  0x00007ffff5f1a681 in _init () from /usr/lib/libpthread.so.0
#2  0x0000000000000003 in ?? ()
#3  0x00007ffff7de6f7a in call_init.part () from /lib64/ld-linux-x86-64.so.2
#4  0x00007ffff7de714e in _dl_init () from /lib64/ld-linux-x86-64.so.2
#5  0x00007ffff7deb113 in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#6  0x00007ffff772aebf in _dl_catch_exception () from /usr/lib/libc.so.6
#7  0x00007ffff7dea9db in _dl_open () from /lib64/ld-linux-x86-64.so.2
#8  0x00007ffff79b3e86 in ?? () from /usr/lib/libdl.so.2
#9  0x00007ffff772aebf in _dl_catch_exception () from /usr/lib/libc.so.6
#10 0x00007ffff772af4f in _dl_catch_error () from /usr/lib/libc.so.6
#11 0x00007ffff79b4587 in ?? () from /usr/lib/libdl.so.2
#12 0x00007ffff79b3f51 in dlopen () from /usr/lib/libdl.so.2
#13 0x00007ffff7bbcbb7 in ?? () from /usr/lib/libOpenCL.so.1
#14 0x00007ffff7bbec15 in clGetPlatformIDs () from /usr/lib/libOpenCL.so.1
#15 0x0000555555559e11 in ?? ()
#16 0x00007ffff76199a7 in __libc_start_main () from /usr/lib/libc.so.6
#17 0x000055555555a17a in ?? ()
(gdb) 

What would my next debugging steps be here?

Can't build with outdated cl_ext.h

Many systems (eg. with distro packages) has an outdated cl_ext.h. You might want to supply a fresh one from Khronos and include that instead, or perhaps include both.

src/clinfo.c: In function ‘printDeviceInfo’:
src/clinfo.c:595: error: ‘CL_DEVICE_PAGE_SIZE_QCOM’ undeclared (first use in this function)
src/clinfo.c:595: error: (Each undeclared identifier is reported only once
src/clinfo.c:595: error: for each function it appears in.)
src/clinfo.c:596: error: ‘CL_DEVICE_EXT_MEM_PADDING_IN_BYTES_QCOM’ undeclared (first use in this function)
make: *** [clinfo.o] Error 1

Segfault on intel HD

I get a segmentation fault when running clinfo on my System76 laptop with integrated intel graphics HD 5200. Let me know if you need more info.

$ gdb ./clinfo 
GNU gdb (GDB) 7.12.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./clinfo...done.
(gdb) run
Starting program: /home/hsgg/clinfo/clinfo 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff4cc2700 (LWP 13837)]
Number of platforms                               1
  Platform Name                                   Intel(R) OpenCL
  Platform Vendor                                 Intel(R) Corporation
  Platform Version                                OpenCL 1.2 
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
  Platform Extensions function suffix             INTEL

  Platform Name                                   Intel(R) OpenCL
Number of devices                                 2
  Device Name                                     Intel(R) HD Graphics
  Device Vendor                                   Intel(R) Corporation
  Device Vendor ID                                0x8086
  Device Version                                  OpenCL 1.2 
  Driver Version                                  r4.0.59481
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     GPU
  Device Available                                Yes
  Device Profile                                  FULL_PROFILE
  Max compute units                               40
  Max clock frequency                             1200MHz
  Device Partition                                (core)
    Max number of sub-devices                     0
    Supported partition types                     by <unknown> (0x7FFF00000000)
    Supported affinity domains                    by <unknown> (0x7FFF00000000)
  Max work item dimensions                        3
  Max work item sizes                             256x256x256
  Max work group size                             256
  Compiler Available                              Yes
  Linker Available                                Yes

Thread 1 "clinfo" received signal SIGSEGV, Segmentation fault.
0x00007ffff7deef71 in _dl_close () from /lib64/ld-linux-x86-64.so.2
(gdb) bt
#0  0x00007ffff7deef71 in _dl_close () from /lib64/ld-linux-x86-64.so.2
#1  0x00007ffff7738c74 in _dl_catch_error () from /usr/lib/libc.so.6
#2  0x00007ffff79b8669 in ?? () from /usr/lib/libdl.so.2
#3  0x00007ffff79b808f in dlclose () from /usr/lib/libdl.so.2
#4  0x00007ffff3aed250 in TC::CClangTranslationBlock::Delete(TC::CClangTranslationBlock*&) () from /opt/intel/opencl/libigdfcl.so
#5  0x00007ffff3aef4fb in TC::CClangTranslationBlock::Create(TC::STB_CreateArgs const*, TC::CClangTranslationBlock*&) () from /opt/intel/opencl/libigdfcl.so
#6  0x00007ffff3aecd3e in Create () from /opt/intel/opencl/libigdfcl.so
#7  0x00007ffff4db7b02 in ?? () from /opt/intel/opencl/libigdrcl.so
#8  0x00007ffff4db7b87 in ?? () from /opt/intel/opencl/libigdrcl.so
#9  0x00007ffff4daefb7 in ?? () from /opt/intel/opencl/libigdrcl.so
#10 0x00007ffff4daf7d1 in ?? () from /opt/intel/opencl/libigdrcl.so
#11 0x00007ffff4d9caf4 in ?? () from /opt/intel/opencl/libigdrcl.so
#12 0x00007ffff4d0f7fd in ?? () from /opt/intel/opencl/libigdrcl.so
#13 0x00007ffff4d82ec9 in ?? () from /opt/intel/opencl/libigdrcl.so
#14 0x00007ffff7bc650b in clBuildProgram () from /usr/lib/libOpenCL.so.1
#15 0x0000000000402056 in getWGsizes (pid=0x61c760, dev=0x638df0)
    at src/clinfo.c:510
#16 0x0000000000403df4 in device_info_wg (dev=0x638df0, param=4531, 
    pname=0x40a770 "Preferred work group size multiple", chk=0x7fffffffe3a0)
    at src/clinfo.c:971
#17 0x00000000004065d7 in printDeviceInfo (device=0x644f30, d=0, 
---Type <return> to continue, or q <return> to quit---
    param_whitelist=0x0) at src/clinfo.c:1936
#18 0x0000000000407320 in showDevices (show_offline=0) at src/clinfo.c:2172
#19 0x0000000000408dda in main (argc=1, argv=0x7fffffffe708)
    at src/clinfo.c:2754
(gdb) 

Public Domain isn't a license

Public Domain isn't really a license - it doesn't say anything about the future, and other people's use, and in some countries the concept of PD doesn't really exist.

Would you consider relicensing to something with a well understood legal basis but still very permissive, such as two-clause BSD / MIT / etc?

i915 not found

cry for help:

ASUS C200M chromebook running ubuntu 18.04 aka GalliumOS 3.1

$ clinfo
Number of platforms 0

evidence that opencl runs on Intel HD 400 aka i915:

HELP: i915 does not OpenCL(ing) anymore
https://community.intel.com/t5/OpenCL-for-CPU/HELP-i915-does-not-OpenCL-ing-anymore/td-p/1104442

$ lsmod | grep i915
i915 1634304 25
i2c_algo_bit 16384 1 i915
drm_kms_helper 188416 1 i915
video 45056 1 i915
drm 446464 10 drm_kms_helper,i915

modinfo_i915.txt

00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0e) (prog-if 00 [VGA controller])
Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display
Flags: bus master, fast devsel, latency 0, IRQ 89
Memory at d0000000 (32-bit, non-prefetchable) [size=4M]
Memory at c0000000 (32-bit, prefetchable) [size=256M]
I/O ports at 1000 [size=8]
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [d0] Power Management version 2
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
Capabilities: [b0] Vendor Specific Information: Len=07 <?>
Kernel driver in use: i915
Kernel modules: i915

apologies,
not clear to me what needs to be done

tx

clinfo FPGA

Hello,
I want to list my FPGA in clinfo, but I dont know how to run your code or to install it, could you show me how please?
Thnak you

Build error when trying to check Preferred work group size multiple

Spin-off issue from #6

...
  Max work item dimensions                        3
    Max work item size[0]                         8192
    Max work item size[1]                         8192
    Max work item size[2]                         8192
  Max work group size                             8192
3 errors generated.
getWGsizes:148: build program : error -11
  Preferred work group size multiple              <detection failed>
  Preferred / native vector sizes                 
    char                                                 1 / 16      
...

On a side note, we also have a problem on the same last platform/device with getWGsizes:148: build program : error -11 [right before listing Preferred work group size multiple] but that is a soft problem listed to stderr without bailing. That may be another issue but I haven't looked into it yet. This too only happens with the Intel/CPU device, not the [same physical] AMD/CPU device.

That was on some Linux system with Intel CPU driver and that platform also has an Intel MIC. I will investigate this later, this issue is a reminder. There is likely some silly detail we could change to get rid of the problem. I once fixed several screenfuls of warnings from a kernel build just by dropping an extraneous space between two -Dmacro parameters in the build options (WAT!). That was on Apple IIRC but I have seen some really silly issues with Intel drivers too.

Cosmetic nitpicks

The below is better written as sm_35

  NVIDIA Compute Capability                       3.5
  Global memory size                              6442254336 (     6GB)
  Error Correction support                        No
  Max memory allocation                           1610563584 (   1.5GB)

Are the leading spaces intentional? Anyway, I think this would be easier to read:

  Global memory size                              6 GB (6442254336)
  Error Correction support                        No
  Max memory allocation                           1.5 GB (1610563584)

detection of ICD/OpenCL issues

I am finding clinfo to be remarkably tolerant, even with missing/mismatching ICDs installed, for instance, nvidia drivers older than 352 do not provide support for OpenCL 1.2, which will cause linking errors when building corresponding code:

https://bugs.launchpad.net/enblend/+bug/1305794
http://stackoverflow.com/a/15866165
http://stackoverflow.com/a/19520687
code-iai/iai_kinect2#13

So it may be helpful to specifically look for such issues and show some kind of warning when running clinfo

clinfo[1]: syntax error: unexpected '('

Hi I build the clinfo on my Mac and push the executable to my Android device /system/bin using adb.
I run it use ./clinfo

the terminal shows : clinfo[1]: syntax error: unexpected '('

could you please give me some hint?

printDeviceInfo:75: get number of CL_DEVICE_GLOBAL_FREE_MEMORY_AMD : error -33

When using amdgpu/pro (amdgpu-core 18.30-641594) on Ubuntu 18.04.01. clinfo reported error, which could be caused by incompatibility of AMD's OpenCL driver?

This may also cuase Einstein@Home GPU app failure.

boinc_get_opencl_ids returned [0x183adf0 , 0x7f2e8c080190]
Using OpenCL platform provided by: Advanced Micro Devices, Inc.
Using OpenCL device "Pitcairn" by: Advanced Micro Devices, Inc.
Max allocation limit: 1345394688
Global mem size: 1805643776
Couldn't create OpenCL command queue (error: -6)!
OpenCL shutdown complete!
initialize_ocl returned error [2013]
OCL context null
OCL queue null
Error generating generic FFT context object [5]
16:46:15 (32530): [CRITICAL]: ERROR: MAIN() returned with error '5'

Suggest about clGetPlatformIDs and clGetDeviceIDs

I am using ARM Platform with Mali-T760 GPU. The system is lubuntu 14.04.
OpenCL works well on it, but sometimes it suddenly not work, clGetPlatformIDs returns
CL_PLATFORM_NOT_FOUND_KHR.
After some tries, I got the tips:

  • Link against the libraries from the GPU manufacture directly, instead of libOpenCL.
  • Re-linking libOpenCL to the manufacture version may solve this problem.
  • Some packages may break the driver stack, sadly it may be better to reinstall the system.

About clGetDeviceIDs. On my platform, it returns CL_OUT_OF_HOST_MEMORY (-6), when:

  • Kernel driver is not loaded properly.
  • User driver is not match with kernel driver.
  • Permission denied when access GPU node, such as /dev/mali0.
    chmod works on this problem.
  • Really no enough memory (rarely).

Error when there is one platform with devices (>0) and another one without (0)

With pocl and mesas libOpenCL installed I get an error (see below).
There is no device for the mesa libOpenCL platform.

 ./clinfo 
Number of platforms                               2
  Platform Name                                   Portable Computing Language
  Platform Vendor                                 The pocl project
  Platform Version                                OpenCL 1.2 pocl 0.9
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd

  Platform Name                                   Default
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 MESA 10.1.0
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd

  Platform Name                                   Portable Computing Language
Number of devices                                 1
  Device Name                                     pthread-Intel(R) Core(TM)2 Duo CPU     L9400  @ 1.86GHz
  Device Vendor                                   unknown
  Device Version                                  OpenCL 1.2 pocl
  Driver Version                                  0.9
  Device OpenCL C Version                         OpenCL C 1.2
  Device Type                                     Default
  Device Profile                                  FULL_PROFILE
  Max compute units                               2
  Max clock frequency                             1867MHz
  Device Partition                                (core)
    Max number of sub-devices                     1
    Supported partition types                     none
  Max work item dimensions                        3
    Max work item size[0]                         1024
    Max work item size[1]                         1024
    Max work item size[2]                         1024
  Max work group size                             1024
  Preferred work group size multiple              8
  Preferred / native vector sizes                 
    char                                                16 / 16      
    short                                                8 / 8       
    int                                                  4 / 4       
    long                                                 2 / 2       
    half                                                 8 / 8        (cl_khr_fp16)
    float                                                4 / 4       
    double                                               2 / 2        (cl_khr_fp64)
  Half-precision   Floating-point support         (cl_khr_fp16)
pocl warning: encountered incomplete implementation in clGetDeviceInfo.c:225
    Denormals                                     No
    Infinity and NANs                             No
    Round to nearest                              No
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Correctly-rounded divide and sqrt operations  No
    Support is emulated in software               No
  Single-precision Floating-point support        
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Correctly-rounded divide and sqrt operations  No
    Support is emulated in software               No
  Double-precision Floating-point support         (cl_khr_fp64)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Correctly-rounded divide and sqrt operations  No
    Support is emulated in software               No
  Address bits                                    64, Little-Endian
  Global memory size                              3082588160 ( 2.871GB)
  Error Correction support                        No
  Max memory allocation                           770647040 ( 734.9MB)
  Unified memory for Host and Device              Yes
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       128 bits (16 bytes)
  Global Memory cache type                        None
  Image support                                   Yes
    Max number of samplers per kernel             16
pocl warning: encountered incomplete implementation in clGetDeviceInfo.c:149
    Max 1D image size                             0 pixels
pocl warning: encountered incomplete implementation in clGetDeviceInfo.c:151
    Max 1D or 2D image array size                 0 images
    Max 2D image size                             8192x8192 pixels
    Max 3D image size                             2048x2048x2048 pixels
    Max number of read image args                 128
    Max number of write image args                128
  Local memory type                               Global
  Local memory size                               770647040 ( 734.9MB)
  Max constant buffer size                        770647040 ( 734.9MB)
  Max number of constant args                     8
  Max size of kernel argument                     1024
  Queue properties                                
    Out-of-order execution                        No
    Profiling                                     Yes
  Profiling timer resolution                      0ns
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            Yes
  Prefer user sync for interops                   Yes
pocl warning: encountered incomplete implementation in clGetDeviceInfo.c:271
  printf() buffer size                            0
  Device Built-in kernels                         
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Device Extensions                               cl_khr_fp64 cl_khr_fp16 cl_khr_byte_addressable_store

  Platform Name                                   Default
Number of devices                                 32540
printDeviceInfo:260: get 0x102B size : error -33

AMD GPUs remain in power state 3 after exiting clinfo.

Hi,

I noticed that running clinfo on Vega 10 GPUs makes the remain in the power state 3 (4 LEDs active in GPUTach). The only reliable workaround seems to be rebooting the system.

This issue has been reported for TensorFlow-ROCm here:

ROCm/tensorflow-upstream#621

It has also been reported for ROCm itself here:

ROCm/ROCm#857

Some GPU-using applications trigger this behaviour (like TensorFlow-ROCm and clinfo) and some don't (most 3D games, for example). Do you maybe have an idea on how to avoid this behaviour on the application level?

Regards,
Bengt

E: -30 / no version information available

Hello,

I seem to have some trouble with the location of the devices pertaining to OpenCL. I have the nvidia 340 drivers installed (with the belonging nvidia-opencl-icd-340 package) As soon as I run the program I simply get the E: -30 message. If I then forcefully install nvidia-libopencl1-340, it removes the ocl-icd-libopencl1 dependancy package, and then when I run the program I get the following output:

clinfo: /usr/lib/i386-linux-gnu/libOpenCL.so.1: no version information available (required by clinfo)
E: -30

In any case it does not seem to find anything. If I locate all the packages using locate -i libOpenCL I get the following:

/usr/lib/i386-linux-gnu/libOpenCL.so
/usr/lib/i386-linux-gnu/libOpenCL.so.1
/usr/lib/i386-linux-gnu/libOpenCL.so.1.0.0
/usr/share/doc/ocl-icd-libopencl1
/usr/share/doc-base/ocl-icd-libopencl1
/usr/share/lintian/overrides/ocl-icd-libopencl1
/usr/share/man/man7/libOpenCL.7.gz
/usr/share/man/man7/libOpenCL.so.7.gz
/var/cache/apt/archives/nvidia-libopencl1-304-updates_304.125-0ubuntu0.0.1_i386.deb
/var/cache/apt/archives/nvidia-libopencl1-304_304.125-0ubuntu0.0.1_i386.deb
/var/cache/apt/archives/nvidia-libopencl1-331-updates_331.113-0ubuntu0.0.4_i386.deb
/var/cache/apt/archives/nvidia-libopencl1-340_340.76-100ubuntu100ppa0trusty_i386.deb
/var/cache/apt/archives/nvidia-libopencl1-346_346.47-100ubuntu100ppa0trusty_i386.deb
/var/cache/apt/archives/ocl-icd-libopencl1_2.1.3-4_i386.deb
/var/lib/doc-base/documents/ocl-icd-libopencl1
/var/lib/dpkg/info/nvidia-libopencl1-340.list
/var/lib/dpkg/info/nvidia-libopencl1-340.postrm
/var/lib/dpkg/info/ocl-icd-libopencl1:i386.list
/var/lib/dpkg/info/ocl-icd-libopencl1:i386.md5sums
/var/lib/dpkg/info/ocl-icd-libopencl1:i386.postinst
/var/lib/dpkg/info/ocl-icd-libopencl1:i386.postrm
/var/lib/dpkg/info/ocl-icd-libopencl1:i386.shlibs
/var/lib/dpkg/info/ocl-icd-libopencl1:i386.symbols

I am using the Ubuntu trusty the 32bit version and the 3.16.0-031600-generic kernel.
The gfx card is the the Nvidia GeForce 310.

clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) printing random bytes

clinfo version 2.2.18.04.06 from openSuse distribution (I also comoiled and tested the current git version)
Running 2 NVIDIA gpu's: RTX2060 and a GTX 1660 ti under openSuse Leap 15.2
clinfo prints random data for clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)
Both devices seem to work ok running milkyway@home
See attached file
clinfo.txt

New release

Can you please make a new release?

It would make life much easier if there was a release including f98c9ed

Thanks!

(BTW, I'm packaging this for Gentoo, it's be in Portage at dev-util/clinfo soon)

CMake support?

Hello! I noticed you've been adding more support for Windows. Did you have any desire to move to a cross-platform build system like CMake?

I have such a branch fork with most of the work done here: https://github.com/samatjain/clinfo

It builds on Visual Studio 2016 and Ubuntu 16.10 without issue. Missing from that branch fork is support for CMake's install targets, which would install the clinfo binary and man page into the right place on Linux.

Tags missing in repository.

Hi,

If i look at the history and at new-version.sh it seems that the commits of 'Version ...' are supposed to be tagged. However these tags don't seem to be published here on github anymore for a while now.
https://github.com/Oblomov/clinfo/tags

Perhaps you forgot that git doesn't push tags along by default?
https://git-scm.com/book/en/v2/Git-Basics-Tagging#Sharing-Tags

If this is actually on purpose though feel free to just close this bug report. I just thought i'd let you know.

Compilation error with the Intel headers

When I compile clinfo with the Intel 2.0 headers I get the following error:

cc -g -pedantic -Werror -std=c99 -Wall -Wextra -I../OpenCL-Headers  -c -o clinfo.o src/clinfo.c
src/clinfo.c:2378:23: error: ‘CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS’ undeclared here (not in a function); did you mean ‘CL_DEVICE_SUBGROUP_INDEPENDENT_FORWARD_PROGRESS’?
  { CLINFO_BOTH, DINFO(CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS, INDENT "Sub-group independent forward progress", bool), dev_is_21 },
                       ^
src/clinfo.c:2164:34: note: in definition of macro ‘DINFO’
 #define DINFO(symbol, name, typ) symbol, #symbol, name, NULL, device_info_##typ
                                  ^~~~~~
<builtin>: recipe for target 'clinfo.o' failed
make: *** [clinfo.o] Error 1

Nvidia PCI id

Note: This is just my guess! I have yet to see documentation and the devices I've seen does not really tell whether this is right or wrong.

clinfo.c line 347:

    if (*has_nv) {
        cl_uint bus, slot;
        GET_PARAM(PCI_BUS_ID_NV, bus);
        GET_PARAM(PCI_SLOT_ID_NV, slot);
-       snprintf(strbuf, bufsz, "%02x:%02x", bus, slot);
+       snprintf(strbuf, bufsz, "%02x:%02x.%x", bus, slot >> 3, slot & 7);
        STR_PRINT("Device Topology (NV)", strbuf);
    }

Fact is "device" is 5 bits and "function" is 3 bits. AMD returns them separately.

Compiling on Windows using MSVC toolchain

Following this comment, I tried copying this CMakeLists.txt file to generate build files

mkdir build
cd build
cmake ..

with following log:

-- Building for: Visual Studio 15 2017
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.16.27038.0
-- The CXX compiler identification is MSVC 19.16.27038.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for CL_VERSION_2_2
-- Looking for CL_VERSION_2_2 - not found
-- Looking for CL_VERSION_2_1
-- Looking for CL_VERSION_2_1 - not found
-- Looking for CL_VERSION_2_0
-- Looking for CL_VERSION_2_0 - not found
-- Looking for CL_VERSION_1_2
-- Looking for CL_VERSION_1_2 - not found
-- Looking for CL_VERSION_1_1
-- Looking for CL_VERSION_1_1 - found
-- Found OpenCL: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib/Win32/OpenCL.lib (found version "1.1")
-- Configuring done
-- Generating done
-- Build files have been written to: C:/path/to/clinfo/build

but when tunning cmake --build . I get many errors:

Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  Checking Build System
  Building Custom Rule C:/path/to/code/clinfo/CMakeLists.txt
  clinfo.c
c:\path\to\clinfo\src\info_ret.h(43): error C2061: syntax error: identifier 'cl_device_affinity_domain' [C:\path\to\clinfo\build\clinfo.vcxproj]
c:\path\to\clinfo\src\info_ret.h(49): error C2059: syntax error: '}' [C:\path\to\clinfo\build\clinfo.vcxproj]
c:\path\to\clinfo\src\info_ret.h(55): error C2059: syntax error: '}' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1002): warning C4033: 'device_fetch_size_t' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1003): warning C4033: 'device_fetch_cl_bool' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1004): warning C4033: 'device_fetch_cl_uint' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1005): warning C4033: 'device_fetch_cl_ulong' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1006): warning C4033: 'device_fetch_cl_device_type' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1007): warning C4033: 'device_fetch_cl_device_mem_cache_type' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1008): warning C4033: 'device_fetch_cl_device_local_mem_type' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1009): warning C4033: 'device_fetch_cl_device_topology_amd' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1010): error C2061: syntax error: identifier 'device_fetch_cl_device_affinity_domain' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1010): error C2059: syntax error: ';' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1010): error C2059: syntax error: '' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1011): warning C4033: 'device_fetch_cl_device_fp_config' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1012): warning C4033: 'device_fetch_cl_command_queue_properties' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1013): warning C4033: 'device_fetch_cl_device_exec_capabilities' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1014): warning C4033: 'device_fetch_cl_device_svm_capabilities' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): error C2037: left of 'value' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4047: 'function': 'size_t' differs in levels of indirection from 'void *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4024: 'clGetDeviceInfo': different types for formal and actual parameter 3 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): error C2198: 'clGetDeviceInfo': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [7]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const info_loc *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4024: 'report_size_mismatch': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): error C2198: 'report_size_mismatch': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1015): warning C4033: 'device_fetch_cl_device_terminate_capability_khr' must return a value [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1033): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1033): error C2037: left of 'str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1033): error C2198: 'c99_snprintf': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1034): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1034): error C2037: left of 'str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1034): error C2198: 'c99_snprintf': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1035): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1035): error C2037: left of 'str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1035): warning C4244: 'function': conversion from 'cl_ulong' to 'size_t', possible loss of data [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1035): error C2198: 'c99_snprintf': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1036): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1036): error C2037: left of 'str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1036): error C2198: 'c99_snprintf': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): error C2037: left of 'err' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): error C2037: left of 'err_str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'cl_int' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4047: 'function': 'cl_int' differs in levels of indirection from 'char [12]' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4024: 'report_ocl_error_loc': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4133: 'function': incompatible types - from 'const info_loc *' to 'const char *' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): error C2198: 'report_ocl_error_loc': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): error C2037: left of 'str' specifies undefined struct/union 'device_info_ret' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4047: 'function': '_strbuf *' differs in levels of indirection from 'size_t' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4024: 'realloc_strbuf': different types for formal and actual parameter 1 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4047: 'function': 'size_t' differs in levels of indirection from 'const char *const ' [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): warning C4024: 'realloc_strbuf': different types for formal and actual parameter 2 [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): error C2198: 'realloc_strbuf': too few arguments for call [C:\path\to\clinfo\build\clinfo.vcxproj]
C:\path\to\clinfo\src\clinfo.c(1043): fatal error C1003: error count exceeds 100; stopping compilation [C:\path\to\clinfo\build\clinfo.vcxproj]

sorry for the long and ugly logs.

I would appreciate it if you could help me know what is the problem and how I can resolve it.

Can't build with GCC 4.3 and 4.5

With 4.8 it builds fine. https://build.opensuse.org/package/show/home:linux4humans:wine-staging/clinfo

cc -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -std=c99 -g -Wall -Wextra -pedantic -Werror   -c -o clinfo.o src/clinfo.c
cc1: warnings being treated as errors
src/clinfo.c: In function 'oclIcdProps':
src/clinfo.c:2689:2: error: dereferencing type-punned pointer will break strict-aliasing rules
make: *** [clinfo.o] Error 1

fatal error: cannot open file '/usr/share/clc/gfx1010-amdgcn-mesa-mesa3d.bc

Hey,

I have this error for 2 days : https://pastebin.com/9R2f0RrK Basically : "fatal error: cannot open file '/usr/share/clc/gfx1010-amdgcn-mesa-mesa3d.bc': No such file or directory" when runing clinfo.

It used to work well on archlinux for at least 3 or 4 weeks, and then after this last sunday update I got this error. I've asked to the arch community no packages related to this have been updated for at least 2 months...

Any ideas please ?

Thanks!

$ clinfo
Number of platforms 2
Platform Name AMD Accelerated Parallel Processing
Platform Vendor Advanced Micro Devices, Inc.
Platform Version OpenCL 2.0 AMD-APP (3246.0)
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd cl_amd_event_callback
Platform Extensions function suffix AMD

Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 21.0.3
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA

Platform Name AMD Accelerated Parallel Processing
Number of devices 1
Device Name gfx1010:xnack+
Device Vendor Advanced Micro Devices, Inc.
Device Vendor ID 0x1002
Device Version OpenCL 2.0
Driver Version 3246.0 (HSA1.1,LC)
Device OpenCL C Version OpenCL C 2.0
Device Type GPU
Device Board Name (AMD) Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
Device PCI-e ID (AMD) 0x731f
Device Topology (AMD) PCI-E, 0000:28:00.0
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 18
SIMD per compute unit (AMD) 4
SIMD width (AMD) 32
SIMD instruction width (AMD) 1
Max clock frequency 1650MHz
Graphics IP (AMD) 10.1
Device Partition (core)
Max number of sub-devices 18
Supported partition types None
Supported affinity domains (n/a)
Max work item dimensions 3
Max work item sizes 1024x1024x1024
Max work group size 256
Preferred work group size (AMD) 256
Max work group size (AMD) 1024
Preferred work group size multiple (kernel) 32
Wavefront width (AMD) 32
Preferred / native vector sizes
char 4 / 4
short 2 / 2
int 1 / 1
long 1 / 1
half 1 / 1 (cl_khr_fp16)
float 1 / 1
double 1 / 1 (cl_khr_fp64)
Half-precision Floating-point support (cl_khr_fp16)
Denormals No
Infinity and NANs No
Round to nearest No
Round to zero No
Round to infinity No
IEEE754-2008 fused multiply-add No
Support is emulated in software No
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Address bits 64, Little-Endian
Global memory size 6425673728 (5.984GiB)
Global free memory (AMD) 6275072 (5.984GiB) 6275072 (5.984GiB)
Global memory channels (AMD) 6
Global memory banks per channel (AMD) 4
Global memory bank width (AMD) 256 bytes
Error Correction support No
Max memory allocation 5461822664 (5.087GiB)
Unified memory for Host and Device No
Shared Virtual Memory (SVM) capabilities (core)
Coarse-grained buffer sharing Yes
Fine-grained buffer sharing Yes
Fine-grained system sharing No
Atomics No
Minimum alignment for any data type 128 bytes
Alignment of base address 1024 bits (128 bytes)
Preferred alignment for atomics
SVM 0 bytes
Global 0 bytes
Local 0 bytes
Max size for global variable 5461822664 (5.087GiB)
Preferred total size of global vars 6425673728 (5.984GiB)
Global Memory cache type Read/Write
Global Memory cache size 16384 (16KiB)
Global Memory cache line size 64 bytes
Image support Yes
Max number of samplers per kernel 29471
Max size for 1D images from buffer 134217728 pixels
Max 1D or 2D image array size 8192 images
Base address alignment for 2D image buffers 256 bytes
Pitch alignment for 2D image buffers 256 pixels
Max 2D image size 16384x16384 pixels
Max 3D image size 16384x16384x8192 pixels
Max number of read image args 128
Max number of write image args 8
Max number of read/write image args 64
Max number of pipe args 16
Max active pipe reservations 16
Max pipe packet size 1166855368 (1.087GiB)
Local memory type Local
Local memory size 65536 (64KiB)
Local memory size per CU (AMD) 65536 (64KiB)
Local memory banks (AMD) 32
Max number of constant args 8
Max constant buffer size 5461822664 (5.087GiB)
Preferred constant buffer size (AMD) 16384 (16KiB)
Max size of kernel argument 1024
Queue properties (on host)
Out-of-order execution No
Profiling Yes
Queue properties (on device)
Out-of-order execution Yes
Profiling Yes
Preferred size 262144 (256KiB)
Max size 8388608 (8MiB)
Max queues on device 1
Max events on device 1024
Prefer user sync for interop Yes
Number of P2P devices (AMD) 0
Profiling timer resolution 1ns
Profiling timer offset since Epoch (AMD) 0ns (Thu Jan 1 01:00:00 1970)
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Thread trace supported (AMD) No
Number of async queues (AMD) 8
Max real-time compute queues (AMD) 8
Max real-time compute units (AMD) 18
printf() buffer size 4194304 (4MiB)
Built-in kernels (n/a)
Device Extensions cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_media_ops cl_amd_media_ops2 cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_depth_images cl_amd_copy_buffer_p2p cl_amd_assembly_program

Platform Name Clover
Number of devices 1
Device Name AMD Radeon RX 5600 XT (NAVI10, DRM 3.40.0, 5.12.1-arch1-1, LLVM 11.1.0)
Device Vendor AMD
Device Vendor ID 0x1002
Device Version OpenCL 1.1 Mesa 21.0.3
Device Numeric Version 0x401000 (1.1.0)
Driver Version 21.0.3
Device OpenCL C Version OpenCL C 1.1
Device Type GPU
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Max compute units 36
Max clock frequency 1650MHz
Max work item dimensions 3
Max work item sizes 256x256x256
Max work group size 256
=== CL_PROGRAM_BUILD_LOG ===
fatal error: cannot open file '/usr/share/clc/gfx1010-amdgcn-mesa-mesa3d.bc': No such file or directory
Preferred work group size multiple (kernel) <getWGsizes:1504: create kernel : error -46>
Preferred / native vector sizes
char 16 / 16
short 8 / 8
int 4 / 4
long 2 / 2
half 0 / 0 (n/a)
float 4 / 4
double 2 / 2 (cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals No
Infinity and NANs Yes
Round to nearest Yes
Round to zero No
Round to infinity No
IEEE754-2008 fused multiply-add No
Support is emulated in software No
Correctly-rounded divide and sqrt operations No
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Address bits 64, Little-Endian
Global memory size 6442450944 (6GiB)
Error Correction support No
Max memory allocation 5153960755 (4.8GiB)
Unified memory for Host and Device No
Minimum alignment for any data type 128 bytes
Alignment of base address 32768 bits (4096 bytes)
Global Memory cache type None
Image support No
Local memory type Local
Local memory size 32768 (32KiB)
Max number of constant args 16
Max constant buffer size 67108864 (64MiB)
Max size of kernel argument 1024
Queue properties
Out-of-order execution No
Profiling Yes
Profiling timer resolution 0ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
ILs with version (n/a)
Built-in kernels with version (n/a)
Device Extensions cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp64 cl_khr_extended_versioning
Device Extensions with Version cl_khr_byte_addressable_store 0x400000 (1.0.0)
cl_khr_global_int32_base_atomics 0x400000 (1.0.0)
cl_khr_global_int32_extended_atomics 0x400000 (1.0.0)
cl_khr_local_int32_base_atomics 0x400000 (1.0.0)
cl_khr_local_int32_extended_atomics 0x400000 (1.0.0)
cl_khr_int64_base_atomics 0x400000 (1.0.0)
cl_khr_int64_extended_atomics 0x400000 (1.0.0)
cl_khr_fp64 0x400000 (1.0.0)
cl_khr_extended_versioning 0x400000 (1.0.0)

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) No platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) No platform
clCreateContext(NULL, ...) [default] No platform
clCreateContext(NULL, ...) [other] Success [AMD]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name gfx1010:xnack+
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name gfx1010:xnack+
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name gfx1010:xnack+

Better way to do the multiarch switching in Makefile.win

To do a better way to do the multiarch switching, in Makefile.win , you can do :

!IF "$(PROCESSOR_ARCHITEW6432)" == "AMD64"
ARCH=64
!ELSE IF "$(PROCESSOR_ARCHITECTURE)" == "IA64" || "$(PROCESSOR_ARCHITEW6432)" == "AMD64"
ARCH=64
!ELSE IF "$(PROCESSOR_ARCHITECTURE)" == "x86"
ARCH=32
!ENDIF

printDeviceInfo:688: get 0x40E0 size : error -30

After #5 was fixed, that old Ubuntu (or whatever) machine I tested build clinfo just fine, but it fails at run-time with this message (after printing lots of information):

printDeviceInfo:688: get 0x40E0 size : error -30

The offending code

    if (*has_spir) {
        SHOW_STRING(clGetDeviceInfo, CL_DEVICE_SPIR_VERSIONS, INDENT "SPIR versions", dev);
    }

Not sure why *has_spir was true... where is it set?

Issue on Preferred work group size multiple

(6:0) : error : syntax error at 'kernel'
Preferred work group size multiple <getWGsizes:1238: create kernel : error -45>

root:~/Oblomov/clinfo# ./clinfo
Number of platforms                               1
  Platform Name                                   Vivante OpenCL Platform
  Platform Vendor                                 Vivante Corporation
  Platform Version                                OpenCL 1.2 V6.2.4.p2.163672
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd
  Platform Extensions function suffix             viv

  Platform Name                                   Vivante OpenCL Platform
Number of devices                                 2
  Device Name                                     Vivante OpenCL Device GC7000XSVX.6009.0000
  Device Vendor                                   Vivante Corporation
  Device Vendor ID                                0x564956
  Device Version                                  OpenCL 1.2
  Driver Version                                  OpenCL 1.2 V6.2.4.p2.163672
  Device OpenCL C Version                         OpenCL C 1.2
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Max compute units                               1
  Max clock frequency                             996MHz
  Device Partition                                (core)
    Max number of sub-devices                     0
    Supported partition types                     (n/a)
    Supported affinity domains                    (n/a)
  Max work item dimensions                        3
  Max work item sizes                             1024x1024x1024
  Max work group size                             1024
=== CL_PROGRAM_BUILD_LOG ===
(6:0) : error : syntax error at 'kernel'
  Preferred work group size multiple              <getWGsizes:1238: create kernel : error -45>
  Preferred / native vector sizes
    char                                                 4 / 4
    short                                                4 / 4
    int                                                  4 / 4
    long                                                 4 / 4
    half                                                 0 / 0        (n/a)
    float                                                4 / 4
    double                                               0 / 0        (n/a)

Building clinfo on Termux Android

Hi, this is just an appreciation post for clinfo and
a build instruction for building clinfo on Termux that runs on Android.
It should allow people to investigate OpenCL on 64bit Android devices.

You need to have /system/vendor/lib64/libOpenCL.so present on the device.
If the Android device doesn't have this, it most like doesn't have OpenCL and the build will fail.
Something like cannot find -lOpenCL

I am going to close the issue since its not an issue with clinfo.

Simply install Termux from Google Play or FDroid
Run these commands:

pkg install git make clang -y
cd ~
git clone https://github.com/Oblomov/clinfo
git clone https://github.com/KhronosGroup/OpenCL-Headers
cd ~/clinfo
export LD_LIBRARY_PATH="/system/vendor/lib64:/system/lib64"
export CFLAGS="-I$HOME/OpenCL-Headers"
export LDFLAGS="-L/system/vendor/lib64"
make
./clinfo

Example outputs:
Adreno 505

Number of platforms                               1
  Platform Name                                   QUALCOMM Snapdragon(TM)
  Platform Vendor                                 QUALCOMM
  Platform Version                                OpenCL 2.0 QUALCOMM build: commit #a7f70d7 changeid #I06947f1a28 Date: 11/19/18 Mon Local Branch:  Remote Branch: 
  Platform Profile                                FULL_PROFILE
  Platform Extensions                              

  Platform Name                                   QUALCOMM Snapdragon(TM)
Number of devices                                 1
  Device Name                                     QUALCOMM Adreno(TM)
  Device Vendor                                   QUALCOMM
  Device Vendor ID                                0xbf4d3c4b
  Device Version                                  OpenCL 2.0 Adreno(TM) 505
  Driver Version                                  OpenCL 2.0 QUALCOMM build: commit #a7f70d7 changeid #I06947f1a28 Date: 11/19/18 Mon Local Branch:  Remote Branch:  Compiler E031.36.02.00
  Device OpenCL C Version                         OpenCL C 2.0 Adreno(TM) 505
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Max compute units                               1
  Max clock frequency                             1MHz
  Device Partition                                (core)
    Max number of sub-devices                     1
    Supported partition types                     None
    Supported affinity domains                    (n/a)
  Max work item dimensions                        3
  Max work item sizes                             1024x1024x1024
  Max work group size                             1024
  Preferred work group size multiple              1024
  Preferred / native vector sizes                 
    char                                                 1 / 1       
    short                                                1 / 1       
    int                                                  1 / 1       
    long                                                 1 / 0       
    half                                                 1 / 1        (cl_khr_fp16)
    float                                                1 / 1       
    double                                               0 / 0        (n/a)
  Half-precision Floating-point support           (cl_khr_fp16)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
  Single-precision Floating-point support         (core)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Double-precision Floating-point support         (n/a)
  Address bits                                    64, Little-Endian
  Global memory size                              956649472 (912.3MiB)
  Error Correction support                        No
  Max memory allocation                           239162368 (228.1MiB)
  Unified memory for Host and Device              Yes
  Shared Virtual Memory (SVM) capabilities        (core)
    Coarse-grained buffer sharing                 Yes
    Fine-grained buffer sharing                   No
    Fine-grained system sharing                   No
    Atomics                                       No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       1024 bits (128 bytes)
  Page size (QCOM)                                4096 bytes
  External memory padding (QCOM)                  0 bytes
  Preferred alignment for atomics                 
    SVM                                           128 bytes
    Global                                        0 bytes
    Local                                         0 bytes
  Max size for global variable                    65536 (64KiB)
  Preferred total size of global vars             1048576 (1024KiB)
  Global Memory cache type                        Read/Write
  Global Memory cache size                        16384 (16KiB)
  Global Memory cache line size                   64 bytes
  Image support                                   Yes
    Max number of samplers per kernel             16
    Max size for 1D images from buffer            134217728 pixels
    Max 1D or 2D image array size                 2048 images
    Base address alignment for 2D image buffers   64 bytes
    Pitch alignment for 2D image buffers          64 pixels
    Max 2D image size                             16384x16384 pixels
    Max 3D image size                             16384x16384x2048 pixels
    Max number of read image args                 128
    Max number of write image args                64
    Max number of read/write image args           64
  Max number of pipe args                         16
  Max active pipe reservations                    4096
  Max pipe packet size                            1024
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Max number of constant args                     8
  Max constant buffer size                        65536 (64KiB)
  Max size of kernel argument                     1024
  Queue properties (on host)                      
    Out-of-order execution                        Yes
    Profiling                                     Yes
  Queue properties (on device)                    
    Out-of-order execution                        Yes
    Profiling                                     Yes
    Preferred size                                655376 (640KiB)
    Max size                                      655376 (640KiB)
  Max queues on device                            1
  Max events on device                            1024
  Prefer user sync for interop                    No
  Profiling timer resolution                      1000ns
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            No
  printf() buffer size                            1048576 (1024KiB)
  Built-in kernels                                (n/a)
  Device Extensions                               cl_khr_3d_image_writes cl_img_egl_image cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_egl_event cl_khr_egl_image cl_khr_fp16 cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_image2d_from_buffer cl_khr_mipmap_image cl_khr_srgb_image_writes cl_khr_subgroups cl_qcom_create_buffer_from_image cl_qcom_ext_host_ptr cl_qcom_ion_host_ptr cl_qcom_perf_hint cl_qcom_read_image_2x2 cl_qcom_android_native_buffer_host_ptr cl_qcom_protected_context cl_qcom_priority_hint cl_qcom_compressed_yuv_image_read cl_qcom_compressed_image 

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
  clCreateContext(NULL, ...) [default]            No platform
  clCreateContext(NULL, ...) [other]              Success [P0]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 QUALCOMM Snapdragon(TM)
    Device Name                                   QUALCOMM Adreno(TM)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 QUALCOMM Snapdragon(TM)
    Device Name                                   QUALCOMM Adreno(TM)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  Invalid device type for platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 QUALCOMM Snapdragon(TM)
    Device Name                                   QUALCOMM Adreno(TM)

Mali-G71

Number of platforms                               1
  Platform Name                                   ARM Platform
  Platform Vendor                                 ARM
  Platform Version                                OpenCL 2.0 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0###
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_icd cl_khr_egl_image cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_il_program cl_khr_create_command_queue cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_import_memory_dma_buf cl_arm_import_memory_host cl_arm_integer_dot_product_int8 cl_arm_integer_dot_product_accumulate_int8 cl_arm_integer_dot_product_accumulate_int16
  Platform Extensions function suffix             ARM

  Platform Name                                   ARM Platform
Number of devices                                 1
  Device Name                                     Mali-G71
  Device Vendor                                   ARM
  Device Vendor ID                                0x60a00002
  Device Version                                  OpenCL 2.0 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0###
  Driver Version                                  2.0
  Device OpenCL C Version                         OpenCL C 2.0 v1.r16p0-01rel0.###other-sha0123456789ABCDEF0###
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Max compute units                               2
  Available core IDs                              0-1
  Max clock frequency                             5MHz
  Device Partition                                (core)
    Max number of sub-devices                     0
    Supported partition types                     None
    Supported affinity domains                    (n/a)
  Max work item dimensions                        3
  Max work item sizes                             384x384x384
  Max work group size                             384
  Preferred work group size multiple              4
  Preferred / native vector sizes                 
    char                                                16 / 4       
    short                                                8 / 2       
    int                                                  4 / 1       
    long                                                 2 / 1       
    half                                                 8 / 2        (cl_khr_fp16)
    float                                                4 / 1       
    double                                               0 / 0        (n/a)
  Half-precision Floating-point support           (cl_khr_fp16)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
  Single-precision Floating-point support         (core)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Double-precision Floating-point support         (n/a)
  Address bits                                    64, Little-Endian
  Global memory size                              3815780352 (3.554GiB)
  Error Correction support                        No
  Max memory allocation                           953945088 (909.8MiB)
  Unified memory for Host and Device              Yes
  Shared Virtual Memory (SVM) capabilities        (core)
    Coarse-grained buffer sharing                 Yes
    Fine-grained buffer sharing                   No
    Fine-grained system sharing                   No
    Atomics                                       No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       1024 bits (128 bytes)
  Preferred alignment for atomics                 
    SVM                                           0 bytes
    Global                                        0 bytes
    Local                                         0 bytes
  Max size for global variable                    65536 (64KiB)
  Preferred total size of global vars             0
  Global Memory cache type                        Read/Write
  Global Memory cache size                        262144 (256KiB)
  Global Memory cache line size                   64 bytes
  Image support                                   Yes
    Max number of samplers per kernel             16
    Max size for 1D images from buffer            65536 pixels
    Max 1D or 2D image array size                 2048 images
    Base address alignment for 2D image buffers   32 bytes
    Pitch alignment for 2D image buffers          64 pixels
    Max 2D image size                             32768x32768 pixels
    Max 3D image size                             32768x32768x32768 pixels
    Max number of read image args                 128
    Max number of write image args                64
    Max number of read/write image args           64
  Max number of pipe args                         16
  Max active pipe reservations                    1
  Max pipe packet size                            1024
  Local memory type                               Global
  Local memory size                               32768 (32KiB)
  Max number of constant args                     8
  Max constant buffer size                        65536 (64KiB)
  Max size of kernel argument                     1024
  Queue properties (on host)                      
    Out-of-order execution                        Yes
    Profiling                                     Yes
  Queue properties (on device)                    
    Out-of-order execution                        Yes
    Profiling                                     Yes
    Preferred size                                2097152 (2MiB)
    Max size                                      16777216 (16MiB)
  Max queues on device                            1
  Max events on device                            1024
  Prefer user sync for interop                    No
  Profiling timer resolution                      1000ns
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            No
    IL version                                    SPIR-V_1_0
  printf() buffer size                            1048576 (1024KiB)
  Built-in kernels                                (n/a)
  Device Extensions                               cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_icd cl_khr_egl_image cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_il_program cl_khr_create_command_queue cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_import_memory_dma_buf cl_arm_import_memory_host cl_arm_integer_dot_product_int8 cl_arm_integer_dot_product_accumulate_int8 cl_arm_integer_dot_product_accumulate_int16

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  ARM Platform
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [ARM]
  clCreateContext(NULL, ...) [default]            Success [ARM]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 ARM Platform
    Device Name                                   Mali-G71
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 ARM Platform
    Device Name                                   Mali-G71
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 ARM Platform
    Device Name                                   Mali-G71

Out of memory error with 0 devices

Hey,

clinfo returns an error when there is a platform with 0 devices:

$ ./clinfo 
Number of platforms                               1
  Platform Name                                   Default
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 MESA 10.1.0
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd

main:689: device IDs : Out of memory

Fans speed

Hi

Is it possible to get fans speed and fans number for Nvidia/AMD GPUs via OpenCL?

Thanks

False positives in extensions detection

The current code checking for extensions looks for the extension name being a substring in the whole extension list string (see the code).

However this can return false positives, for example if cl_khr_spirv_no_integer_wrap_decoration is exposed but cl_khr_spir is not, clinfo will falsely find out that cl_khr_spir is advertised due to finding that substring as it does not check that the substring is followed by a space or a null character.

fatal error: CL/cl.h: No such file or directory

Compiling clinfo (version 1.1.0) results in this failure:

make -j2
cc -march=native -O2 -pipe -std=c99 -Wall -Wextra   -c -o clinfo.o src/clinfo.c
In file included from src/error.h:5:0,
                 from src/clinfo.c:31:
src/ext.h:24:10: fatal error: CL/cl.h: No such file or directory
 #include <CL/cl.h>
          ^~~~~~~~~
compilation terminated.

However, cl.h does exist. Here are the paths to files with this name:

/usr/lib64/OpenCL/global/include/CL-1.0/cl.h
/usr/lib64/OpenCL/global/include/CL-1.1/cl.h
/usr/lib64/OpenCL/global/include/CL-1.2/cl.h
/usr/lib64/OpenCL/global/include/CL-2.0/cl.h
/usr/lib64/OpenCL/global/include/CL-2.1/cl.h
(/usr/include/CL/cl.h (symlink to /usr/lib64/OpenCL/global/include/CL-1.2/cl.h)

I believe that the last one, /usr/include/CL/cl.h, is what should be found and used.

Can you please take a look?

Originally reported at https://bugs.gentoo.org/660572

Out-of-Bounds access in device_info_interop_list

Hi. It seems that there is an out-of-bounds access in device_info_interop_list. The issue occurs when processing CL_DEVICE_SIMULTANEOUS_INTEROPS_INTEL.

In this line i is set to 76, because current = 0x4072 = CL_CONTEXT_D3D9EX_DEVICE_INTEL and n->from = 0x4026 = CL_CONTEXT_D3D9_DEVICE_INTEL. Length of n->value is 5, so n->value[76] ends with the access violation in the snprintf.

I can reproduce this issue using Intel Graphics Driver for Windows 10 25.20.100.6323.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.