clinfo
14 months agoVersion 3.0.23.01.25 master github/master 3.0.23.01.25
Giuseppe Bilotta [Wed, 25 Jan 2023 15:29:27 +0000 (16:29 +0100)] 
Version 3.0.23.01.25

14 months agoKeep track of the known flags
Giuseppe Bilotta [Wed, 25 Jan 2023 15:23:36 +0000 (16:23 +0100)] 
Keep track of the known flags

Avoids them from popping up when running find-missing-entries

14 months agoMark ARM extensions as such origin/HEAD origin/master
Giuseppe Bilotta [Tue, 24 Jan 2023 20:58:45 +0000 (21:58 +0100)] 
Mark ARM extensions as such

15 months agoFix some extended versioning support
Giuseppe Bilotta [Thu, 19 Jan 2023 23:25:28 +0000 (00:25 +0100)] 
Fix some extended versioning support

15 months agocl_khr_mutable_dispatch
Giuseppe Bilotta [Thu, 19 Jan 2023 22:50:51 +0000 (23:50 +0100)] 
cl_khr_mutable_dispatch

15 months agoSempahore KHR extensions support
Giuseppe Bilotta [Thu, 19 Jan 2023 22:37:06 +0000 (23:37 +0100)] 
Sempahore KHR extensions support

15 months agocl_khr_external_memory support
Giuseppe Bilotta [Thu, 19 Jan 2023 21:26:44 +0000 (22:26 +0100)] 
cl_khr_external_memory support

15 months agoCleanup and add TODO
Giuseppe Bilotta [Thu, 19 Jan 2023 19:43:46 +0000 (20:43 +0100)] 
Cleanup and add TODO

15 months agocl_intel_unified_shared_memory support
Giuseppe Bilotta [Thu, 19 Jan 2023 19:32:27 +0000 (20:32 +0100)] 
cl_intel_unified_shared_memory support

15 months agocl_khr_command_buffer support
Giuseppe Bilotta [Thu, 19 Jan 2023 14:59:20 +0000 (15:59 +0100)] 
cl_khr_command_buffer support

15 months agoUpdate cl_arm_scheduling_controls support
Giuseppe Bilotta [Thu, 19 Jan 2023 14:31:29 +0000 (15:31 +0100)] 
Update cl_arm_scheduling_controls support

15 months agocl_intel_device_attribute_query support
Giuseppe Bilotta [Wed, 18 Jan 2023 23:50:01 +0000 (00:50 +0100)] 
cl_intel_device_attribute_query support

15 months agocl_intel_command_queue_families support
Giuseppe Bilotta [Wed, 18 Jan 2023 23:20:22 +0000 (00:20 +0100)] 
cl_intel_command_queue_families support

16 months agoOption to handle the NULL platform like a normal one
Giuseppe Bilotta [Tue, 6 Dec 2022 18:17:19 +0000 (19:17 +0100)] 
Option to handle the NULL platform like a normal one

This may be useful on systems where there are no ICDs, but OpenCL is
still supported through a built-in platform.

2 years agoCorrectly size some variables
Giuseppe Bilotta [Sun, 13 Mar 2022 23:23:35 +0000 (00:23 +0100)] 
Correctly size some variables

2 years agoFix typo: comfornace
Brett T. Warden [Fri, 19 Nov 2021 21:44:22 +0000 (13:44 -0800)] 
Fix typo: comfornace

2 years agoMakefile: Define and use `MAN1DIR`
Paul Menzel [Tue, 17 Aug 2021 06:41:37 +0000 (08:41 +0200)] 
Makefile: Define and use `MAN1DIR`

The path is used twice, so define and use the variable [`MAN1DIR`][1].

[1]: https://www.gnu.org/software/make/manual/html_node/Directory-Variables.html

2 years agoMakefile: Support staged installs with `DESTDIR`
Paul Menzel [Tue, 17 Aug 2021 05:28:22 +0000 (07:28 +0200)] 
Makefile: Support staged installs with `DESTDIR`

Use `DESTDIR` in install related targets to support [*staged
installs*][1].

    make DESTDIR=/tmp/stage install

`DESTDIR` is not set in the Makefile, so nothing changes for users not
setting the variable.

[1]: https://www.gnu.org/software/make/manual/html_node/DESTDIR.html

Resolves: https://github.com/Oblomov/clinfo/issues/70

2 years agoMakefile: Simplify by removing targets and move them to install target
Paul Menzel [Tue, 17 Aug 2021 06:31:31 +0000 (08:31 +0200)] 
Makefile: Simplify by removing targets and move them to install target

For installing two files it’s not needed to create separate targets.

2 years agoRevert "Makefile: Support staged installs with `DESTDIR`"
Paul Menzel [Tue, 17 Aug 2021 06:52:29 +0000 (08:52 +0200)] 
Revert "Makefile: Support staged installs with `DESTDIR`"

This reverts commit a5bda6d79ffefb0d55ce4f0719cbaf8a60e4870b.

The commit is incomplete, and the directories are not created.

2 years agoProperly indent NV execution properties
Giuseppe Bilotta [Thu, 16 Sep 2021 11:26:27 +0000 (13:26 +0200)] 
Properly indent NV execution properties

2 years agoDon't fetch array values when there aren't any
Giuseppe Bilotta [Thu, 16 Sep 2021 11:22:29 +0000 (13:22 +0200)] 
Don't fetch array values when there aren't any

This issue has emerged with NVIDIA's 470.57.02 driver that responds with
a CL_INVALID_VALUE when queried about CL_DEVICE_ILS_WITH_VERSION
(and similarly for built-in programs) but correctly reports a 0 size
when queried about the _size_ of the returned value.

2 years agoShow ICD loader properties even if no platforms are present
Giuseppe Bilotta [Thu, 16 Sep 2021 10:50:37 +0000 (12:50 +0200)] 
Show ICD loader properties even if no platforms are present

2 years agoOlder NVIDIA drivers don't support CL_DEVICE_PCI_DOMAIN_ID_NV
Giuseppe Bilotta [Thu, 16 Sep 2021 10:48:18 +0000 (12:48 +0200)] 
Older NVIDIA drivers don't support CL_DEVICE_PCI_DOMAIN_ID_NV

2 years agoMakefile: Support staged installs with `DESTDIR`
Paul Menzel [Tue, 17 Aug 2021 05:28:22 +0000 (07:28 +0200)] 
Makefile: Support staged installs with `DESTDIR`

Use `DESTDIR` in install related targets to support [*staged
installs*][1].

    make DESTDIR=/tmp/stage install

[1]: https://www.gnu.org/software/make/manual/html_node/DESTDIR.html

Resolves: https://github.com/Oblomov/clinfo/issues/70

3 years agoSome more ext vs (next) core things
Giuseppe Bilotta [Sat, 24 Apr 2021 21:06:12 +0000 (23:06 +0200)] 
Some more ext vs (next) core things

Aside from cleaning up some conditional info queries, this defines
the _KHR equivalents to make it easier to detect missing defines
programmatically.

3 years agoAdd missing extension checks
Giuseppe Bilotta [Sat, 24 Apr 2021 20:52:40 +0000 (22:52 +0200)] 
Add missing extension checks

3 years agocl_arm_controlled_kernel_termination support
Giuseppe Bilotta [Sat, 24 Apr 2021 20:50:30 +0000 (22:50 +0200)] 
cl_arm_controlled_kernel_termination support

3 years agocl_khr_pci_bus_info support
Giuseppe Bilotta [Sat, 24 Apr 2021 20:26:17 +0000 (22:26 +0200)] 
cl_khr_pci_bus_info support

Finally Khronos introduced an extension that exposes the bus
information that NV and AMD expose through their attribute queries.

Use the Khronos structure as unifier instead of our own.

3 years agoFix string buffer used to report error
Giuseppe Bilotta [Mon, 5 Apr 2021 14:28:54 +0000 (16:28 +0200)] 
Fix string buffer used to report error

This fixes GitHub issue #62.

3 years agoSupport cl_arm_scheduling_controls
Giuseppe Bilotta [Wed, 31 Mar 2021 12:57:15 +0000 (14:57 +0200)] 
Support cl_arm_scheduling_controls

3 years agoVersion 3.0.21.02.21 3.0.21.02.21
Giuseppe Bilotta [Sun, 21 Feb 2021 10:03:06 +0000 (11:03 +0100)] 
Version 3.0.21.02.21

3 years agoNV also provides the PCI domain
Giuseppe Bilotta [Mon, 1 Feb 2021 19:46:42 +0000 (20:46 +0100)] 
NV also provides the PCI domain

Supporting this in human form requires the definition of a new structure
that supersets both the AMD and the NV data.

3 years agoCL_DEVICE_PCIE_ID_AMD only works for GPUs
Giuseppe Bilotta [Mon, 1 Feb 2021 15:46:27 +0000 (16:46 +0100)] 
CL_DEVICE_PCIE_ID_AMD only works for GPUs

3 years agoImprove README
Giuseppe Bilotta [Sun, 13 Dec 2020 11:22:13 +0000 (12:22 +0100)] 
Improve README

3 years agoCL_DEVICE_OPENCL_C_ALL_VERSIONS requires 3.0
Giuseppe Bilotta [Thu, 10 Dec 2020 13:22:48 +0000 (14:22 +0100)] 
CL_DEVICE_OPENCL_C_ALL_VERSIONS requires 3.0

3 years agoBugfix: char-subscripts are treated as an error.
kou1okada [Thu, 10 Dec 2020 03:08:29 +0000 (12:08 +0900)] 
Bugfix: char-subscripts are treated as an error.

At least in Cygwin, isspace () will fail to compile as below if it takes char as an argument.

```
$ make
cc -g -pedantic -Werror -std=c99 -Wall -Wextra -I../OpenCL-Headers  -c -o clinfo.o src/clinfo.c
In file included from src/error.h:11,
                 from src/clinfo.c:35:
src/strbuf.h: In function ‘skip_leading_ws’:
src/strbuf.h:128:8: error: array subscript has type ‘char’ [-Werror=char-subscripts]
  128 |  while (isspace(*ret)) ++ret;
      |        ^~~~
cc1: all warnings being treated as errors
make: *** [<builtin>: clinfo.o] Error 1
```

For more details and recommendations for this error, see following:

* stackoverflow / 2012-04-02: [Warning: array subscript has type char](https://stackoverflow.com/a/60696378)

3 years agoFix extra handling of CL_DEVICE_EXTENSIONS_WITH_VERSION
Giuseppe Bilotta [Wed, 2 Dec 2020 16:10:02 +0000 (17:10 +0100)] 
Fix extra handling of CL_DEVICE_EXTENSIONS_WITH_VERSION

When running with -a, and the property is not supported, it should just
be skipped instead of printing the error.

3 years agoImprove single-property output management
Giuseppe Bilotta [Sat, 28 Nov 2020 21:26:29 +0000 (22:26 +0100)] 
Improve single-property output management

Warn that we only support one --prop specification, refactor cleanup and
use it wherever necessary.

3 years agoTry RTLD_DEFAULT macro before hardcoded value
Jan Beich [Thu, 26 Nov 2020 17:54:40 +0000 (17:54 +0000)] 
Try RTLD_DEFAULT macro before hardcoded value

On BSD-like and Solaris-like systems RTLD_DEFAULT is ((void *) -2)

3 years agoMore device_info_bitfield refactoring
Giuseppe Bilotta [Thu, 26 Nov 2020 20:05:47 +0000 (21:05 +0100)] 
More device_info_bitfield refactoring

This series involves the entries whose human version presents nested
Yes/No entries instead of a list of values.

The name for the “cooked” presentation of the SVM capabilities in the
JSON file is changed from "type" to "capabilities", which is the correct
one.

3 years agoRefactor bitfield handling
Giuseppe Bilotta [Thu, 26 Nov 2020 19:26:59 +0000 (20:26 +0100)] 
Refactor bitfield handling

They all use the same mechanism, so no reason not to share code.

3 years agoSuppress sparse warnings
Giuseppe Bilotta [Thu, 26 Nov 2020 17:32:48 +0000 (18:32 +0100)] 
Suppress sparse warnings

Most are about mixing initialization and code, but a suspicious NULL
usage warning was actually quite relevant.

3 years agoDocument the Android wrapper script generation
Giuseppe Bilotta [Thu, 26 Nov 2020 08:03:29 +0000 (09:03 +0100)] 
Document the Android wrapper script generation

3 years agoMore Android support improvements
Giuseppe Bilotta [Wed, 25 Nov 2020 13:27:07 +0000 (14:27 +0100)] 
More Android support improvements

The vendor path can now be overridden, and `clinfo` is now a wrapper
for the actual executable (`clinfo.real`) that sets the LD_LIBRARY_PATH
appropriately.

3 years agoJSON: add ICDL detected version as custom property
Giuseppe Bilotta [Tue, 24 Nov 2020 22:45:00 +0000 (23:45 +0100)] 
JSON: add ICDL detected version as custom property

3 years agoReorder some platform info
Giuseppe Bilotta [Tue, 24 Nov 2020 22:24:56 +0000 (23:24 +0100)] 
Reorder some platform info

Particularly important is the retrieval of the extension information
before anything that may depend on it.

3 years agoAutodetect Android
Giuseppe Bilotta [Mon, 23 Nov 2020 17:15:48 +0000 (18:15 +0100)] 
Autodetect Android

3 years agoDocument --json command-line option
Giuseppe Bilotta [Mon, 23 Nov 2020 07:31:30 +0000 (08:31 +0100)] 
Document --json command-line option

3 years agoJSON: convert most properties
Giuseppe Bilotta [Sun, 22 Nov 2020 22:15:43 +0000 (23:15 +0100)] 
JSON: convert most properties

3 years agoJSON: some handling of non-string values
Giuseppe Bilotta [Sat, 21 Nov 2020 17:56:46 +0000 (18:56 +0100)] 
JSON: some handling of non-string values

3 years agoIntroduce JSON output format
Giuseppe Bilotta [Sun, 22 Nov 2020 19:50:02 +0000 (20:50 +0100)] 
Introduce JSON output format

Currently every value is just the JSON string version of what would be
printed. Specialized versions are going to be introduced in the next
commits.

3 years agoGet rid of bufcpy and add_separator
Giuseppe Bilotta [Sun, 22 Nov 2020 14:43:18 +0000 (15:43 +0100)] 
Get rid of bufcpy and add_separator

3 years agoGet rid of strbuf_printf
Giuseppe Bilotta [Sun, 22 Nov 2020 14:40:34 +0000 (15:40 +0100)] 
Get rid of strbuf_printf

3 years agoNull context strbuf usage
Giuseppe Bilotta [Sun, 22 Nov 2020 14:38:30 +0000 (15:38 +0100)] 
Null context strbuf usage

3 years agoMore strbuf_append work
Giuseppe Bilotta [Sun, 22 Nov 2020 14:09:26 +0000 (15:09 +0100)] 
More strbuf_append work

3 years agoFinish strbuf_append pass for device info
Giuseppe Bilotta [Sun, 22 Nov 2020 14:02:08 +0000 (15:02 +0100)] 
Finish strbuf_append pass for device info

3 years agoMore modernization (GET_VAL + strbuf_append)
Giuseppe Bilotta [Sun, 22 Nov 2020 13:29:50 +0000 (14:29 +0100)] 
More modernization (GET_VAL + strbuf_append)

3 years agoFurther str_append progress and bug fixes
Giuseppe Bilotta [Sun, 22 Nov 2020 12:51:07 +0000 (13:51 +0100)] 
Further str_append progress and bug fixes

3 years agoFurther modernization (GET_VAL + strbuf_append)
Giuseppe Bilotta [Sun, 22 Nov 2020 12:33:40 +0000 (13:33 +0100)] 
Further modernization (GET_VAL + strbuf_append)

3 years agoMore strbuf_append transition
Giuseppe Bilotta [Sun, 22 Nov 2020 11:58:12 +0000 (12:58 +0100)] 
More strbuf_append transition

3 years agoMore strbuf_append and other modernization
Giuseppe Bilotta [Sun, 22 Nov 2020 11:45:20 +0000 (12:45 +0100)] 
More strbuf_append and other modernization

3 years agoIntroduce (and start using) functions to autoexpand a strbuf
Giuseppe Bilotta [Sun, 22 Nov 2020 11:17:41 +0000 (12:17 +0100)] 
Introduce (and start using) functions to autoexpand a strbuf

3 years agoKeep strbuf end up to date on string fetch
Giuseppe Bilotta [Sun, 22 Nov 2020 11:05:21 +0000 (12:05 +0100)] 
Keep strbuf end up to date on string fetch

3 years agoPrime all strbufs to 1024 characters
Giuseppe Bilotta [Sun, 22 Nov 2020 11:02:37 +0000 (12:02 +0100)] 
Prime all strbufs to 1024 characters

3 years agoIntroduce function to reset a strbuf
Giuseppe Bilotta [Sun, 22 Nov 2020 10:54:22 +0000 (11:54 +0100)] 
Introduce function to reset a strbuf

3 years agoUpdate time_offset to use GET_VAL
Giuseppe Bilotta [Sun, 22 Nov 2020 09:26:42 +0000 (10:26 +0100)] 
Update time_offset to use GET_VAL

3 years agoDocument -d and --prop in manpage
Giuseppe Bilotta [Sat, 21 Nov 2020 10:01:00 +0000 (11:01 +0100)] 
Document -d and --prop in manpage

3 years agoAllow filtering by property name
Giuseppe Bilotta [Sat, 21 Nov 2020 09:22:04 +0000 (10:22 +0100)] 
Allow filtering by property name

3 years agoMissing frees
Giuseppe Bilotta [Fri, 20 Nov 2020 23:10:45 +0000 (00:10 +0100)] 
Missing frees

3 years agoFix missing initand wrong sizing
Giuseppe Bilotta [Fri, 20 Nov 2020 22:59:19 +0000 (23:59 +0100)] 
Fix missing initand wrong sizing

3 years agoSupport -d without space
Giuseppe Bilotta [Fri, 20 Nov 2020 22:49:49 +0000 (23:49 +0100)] 
Support -d without space

So user can do ./clinfo -d 0:0 as well as ./clinfo -d0:0

3 years agoComment typo
Giuseppe Bilotta [Fri, 20 Nov 2020 22:46:51 +0000 (23:46 +0100)] 
Comment typo

3 years agoMan page typo
Giuseppe Bilotta [Fri, 20 Nov 2020 22:23:22 +0000 (23:23 +0100)] 
Man page typo

3 years agoVersion 3.0.20.11.20 3.0.20.11.20
Giuseppe Bilotta [Fri, 20 Nov 2020 13:04:01 +0000 (14:04 +0100)] 
Version 3.0.20.11.20

3 years agocl_khr_device_uuid support github/provisional-30
Giuseppe Bilotta [Fri, 20 Nov 2020 11:22:42 +0000 (12:22 +0100)] 
cl_khr_device_uuid support

3 years agoSupport for cl_ext_cxx_for_opencl
Giuseppe Bilotta [Fri, 20 Nov 2020 10:35:12 +0000 (11:35 +0100)] 
Support for cl_ext_cxx_for_opencl

3 years agoRearrange some queries based on dependencies
Giuseppe Bilotta [Fri, 20 Nov 2020 10:27:11 +0000 (11:27 +0100)] 
Rearrange some queries based on dependencies

3 years agoUpdate man page
Giuseppe Bilotta [Fri, 20 Nov 2020 10:20:31 +0000 (11:20 +0100)] 
Update man page

3 years agoSupport cl_khr_extended_versioning as platform extension
Giuseppe Bilotta [Fri, 20 Nov 2020 10:12:52 +0000 (11:12 +0100)] 
Support cl_khr_extended_versioning as platform extension

3 years agoSupport cl_khr_extended_versioning as device extension
Giuseppe Bilotta [Fri, 20 Nov 2020 10:08:44 +0000 (11:08 +0100)] 
Support cl_khr_extended_versioning as device extension

3 years agoTypos in comments
Giuseppe Bilotta [Fri, 20 Nov 2020 10:09:56 +0000 (11:09 +0100)] 
Typos in comments

3 years agoCL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED
Giuseppe Bilotta [Fri, 20 Nov 2020 06:41:24 +0000 (07:41 +0100)] 
CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED

3 years agoDevice enqueue support is a bitfield, not a bool
Giuseppe Bilotta [Fri, 20 Nov 2020 06:30:01 +0000 (07:30 +0100)] 
Device enqueue support is a bitfield, not a bool

It has also been renamed from CL_DEVICE_DEVICE_ENQUEUE_SUPPORT to
CL_DEVICE_DEVICE_ENQUEUE_CAPABILITIES.

3 years agoAdd a couple of TODOs
Giuseppe Bilotta [Fri, 20 Nov 2020 00:32:43 +0000 (01:32 +0100)] 
Add a couple of TODOs

3 years ago3.0 OpenCL versions and features
Giuseppe Bilotta [Fri, 20 Nov 2020 00:30:53 +0000 (01:30 +0100)] 
3.0 OpenCL versions and features

3 years agoPreferred work-group size multiple device prop
Giuseppe Bilotta [Fri, 20 Nov 2020 00:27:43 +0000 (01:27 +0100)] 
Preferred work-group size multiple device prop

3 years agoBunch of boolean props
Giuseppe Bilotta [Fri, 20 Nov 2020 00:24:38 +0000 (01:24 +0100)] 
Bunch of boolean props

3 years agoAtomic memory/fences support
Giuseppe Bilotta [Fri, 20 Nov 2020 00:11:57 +0000 (01:11 +0100)] 
Atomic memory/fences support

3 years agoMore «stuff with versions» properties
Giuseppe Bilotta [Thu, 19 Nov 2020 23:47:33 +0000 (00:47 +0100)] 
More «stuff with versions» properties

3 years agoSupport CL_DEVICE_EXTENSIONS_WITH_VERSION and make homogeneous
Giuseppe Bilotta [Thu, 19 Nov 2020 23:43:45 +0000 (00:43 +0100)] 
Support CL_DEVICE_EXTENSIONS_WITH_VERSION and make homogeneous

3 years agoAdd support for CL_PLATFORM_EXTENSIONS_WITH_VERSION
Giuseppe Bilotta [Thu, 19 Nov 2020 23:23:03 +0000 (00:23 +0100)] 
Add support for CL_PLATFORM_EXTENSIONS_WITH_VERSION

3 years agoIntroduce support for CL_{PLATFORM,DEVICE}_NUMERIC_VERSION
Giuseppe Bilotta [Thu, 19 Nov 2020 22:33:37 +0000 (23:33 +0100)] 
Introduce support for CL_{PLATFORM,DEVICE}_NUMERIC_VERSION

3 years agoFuture-proof loader version check
Giuseppe Bilotta [Thu, 19 Nov 2020 21:14:49 +0000 (22:14 +0100)] 
Future-proof loader version check

If the loader claims a version higher than the highest version clinfo
knows about, we should not warn about version mismatches, because we
cannot actually check if what the loader claims is correct or not.

SImilarly, we comparing loader and maximum platform version, we trust
what the loader claims if it's higher than what we know about, but use
our detected version otherwise.

3 years agoAllow specification of single device to show info about
Giuseppe Bilotta [Tue, 17 Nov 2020 20:41:00 +0000 (21:41 +0100)] 
Allow specification of single device to show info about

3 years agoUpdated loader version detection to OpenCL 3.0.
Brice Videau [Thu, 22 Oct 2020 22:15:05 +0000 (22:15 +0000)] 
Updated loader version detection to OpenCL 3.0.

3 years agoFix a typo
bdenhollander [Sat, 10 Oct 2020 18:51:51 +0000 (14:51 -0400)] 
Fix a typo

3 years agoAvoid false positives in extensions detection
Giuseppe Bilotta [Mon, 5 Oct 2020 16:38:31 +0000 (18:38 +0200)] 
Avoid false positives in extensions detection

Pad the extension string with spaces and check for the extension string
surrounded by spaces.

3 years agoAdd architecture ppc64le to travis build
ddeka2910 [Sun, 4 Oct 2020 08:34:43 +0000 (14:04 +0530)] 
Add architecture ppc64le to travis build

3 years agoFix no device handling for checkNullGetDevices
Giuseppe Bilotta [Sun, 5 Jul 2020 19:23:49 +0000 (21:23 +0200)] 
Fix no device handling for checkNullGetDevices

The main issue was that we were updating the non-error buffer, even
though an error condition was present in this case, so error buffer
should have been updated instead.

While we're at it, cleanup the output for this case, pointing out that
no device was found and that we're only tentatively guessing what the
associated platform might be.