Giuseppe Bilotta [Wed, 25 Jan 2023 15:29:27 +0000 (16:29 +0100)]
Version 3.0.23.01.25
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
Giuseppe Bilotta [Tue, 24 Jan 2023 20:58:45 +0000 (21:58 +0100)]
Mark ARM extensions as such
Giuseppe Bilotta [Thu, 19 Jan 2023 23:25:28 +0000 (00:25 +0100)]
Fix some extended versioning support
Giuseppe Bilotta [Thu, 19 Jan 2023 22:50:51 +0000 (23:50 +0100)]
cl_khr_mutable_dispatch
Giuseppe Bilotta [Thu, 19 Jan 2023 22:37:06 +0000 (23:37 +0100)]
Sempahore KHR extensions support
Giuseppe Bilotta [Thu, 19 Jan 2023 21:26:44 +0000 (22:26 +0100)]
cl_khr_external_memory support
Giuseppe Bilotta [Thu, 19 Jan 2023 19:43:46 +0000 (20:43 +0100)]
Cleanup and add TODO
Giuseppe Bilotta [Thu, 19 Jan 2023 19:32:27 +0000 (20:32 +0100)]
cl_intel_unified_shared_memory support
Giuseppe Bilotta [Thu, 19 Jan 2023 14:59:20 +0000 (15:59 +0100)]
cl_khr_command_buffer support
Giuseppe Bilotta [Thu, 19 Jan 2023 14:31:29 +0000 (15:31 +0100)]
Update cl_arm_scheduling_controls support
Giuseppe Bilotta [Wed, 18 Jan 2023 23:50:01 +0000 (00:50 +0100)]
cl_intel_device_attribute_query support
Giuseppe Bilotta [Wed, 18 Jan 2023 23:20:22 +0000 (00:20 +0100)]
cl_intel_command_queue_families support
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.
Giuseppe Bilotta [Sun, 13 Mar 2022 23:23:35 +0000 (00:23 +0100)]
Correctly size some variables
Brett T. Warden [Fri, 19 Nov 2021 21:44:22 +0000 (13:44 -0800)]
Fix typo: comfornace
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
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
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.
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.
Giuseppe Bilotta [Thu, 16 Sep 2021 11:26:27 +0000 (13:26 +0200)]
Properly indent NV execution properties
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.
Giuseppe Bilotta [Thu, 16 Sep 2021 10:50:37 +0000 (12:50 +0200)]
Show ICD loader properties even if no platforms are present
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
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
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.
Giuseppe Bilotta [Sat, 24 Apr 2021 20:52:40 +0000 (22:52 +0200)]
Add missing extension checks
Giuseppe Bilotta [Sat, 24 Apr 2021 20:50:30 +0000 (22:50 +0200)]
cl_arm_controlled_kernel_termination 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.
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.
Giuseppe Bilotta [Wed, 31 Mar 2021 12:57:15 +0000 (14:57 +0200)]
Support cl_arm_scheduling_controls
Giuseppe Bilotta [Sun, 21 Feb 2021 10:03:06 +0000 (11:03 +0100)]
Version 3.0.21.02.21
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.
Giuseppe Bilotta [Mon, 1 Feb 2021 15:46:27 +0000 (16:46 +0100)]
CL_DEVICE_PCIE_ID_AMD only works for GPUs
Giuseppe Bilotta [Sun, 13 Dec 2020 11:22:13 +0000 (12:22 +0100)]
Improve README
Giuseppe Bilotta [Thu, 10 Dec 2020 13:22:48 +0000 (14:22 +0100)]
CL_DEVICE_OPENCL_C_ALL_VERSIONS requires 3.0
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)
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.
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.
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)
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.
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.
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.
Giuseppe Bilotta [Thu, 26 Nov 2020 08:03:29 +0000 (09:03 +0100)]
Document the Android wrapper script generation
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.
Giuseppe Bilotta [Tue, 24 Nov 2020 22:45:00 +0000 (23:45 +0100)]
JSON: add ICDL detected version as custom property
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.
Giuseppe Bilotta [Mon, 23 Nov 2020 17:15:48 +0000 (18:15 +0100)]
Autodetect Android
Giuseppe Bilotta [Mon, 23 Nov 2020 07:31:30 +0000 (08:31 +0100)]
Document --json command-line option
Giuseppe Bilotta [Sun, 22 Nov 2020 22:15:43 +0000 (23:15 +0100)]
JSON: convert most properties
Giuseppe Bilotta [Sat, 21 Nov 2020 17:56:46 +0000 (18:56 +0100)]
JSON: some handling of non-string values
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.
Giuseppe Bilotta [Sun, 22 Nov 2020 14:43:18 +0000 (15:43 +0100)]
Get rid of bufcpy and add_separator
Giuseppe Bilotta [Sun, 22 Nov 2020 14:40:34 +0000 (15:40 +0100)]
Get rid of strbuf_printf
Giuseppe Bilotta [Sun, 22 Nov 2020 14:38:30 +0000 (15:38 +0100)]
Null context strbuf usage
Giuseppe Bilotta [Sun, 22 Nov 2020 14:09:26 +0000 (15:09 +0100)]
More strbuf_append work
Giuseppe Bilotta [Sun, 22 Nov 2020 14:02:08 +0000 (15:02 +0100)]
Finish strbuf_append pass for device info
Giuseppe Bilotta [Sun, 22 Nov 2020 13:29:50 +0000 (14:29 +0100)]
More modernization (GET_VAL + strbuf_append)
Giuseppe Bilotta [Sun, 22 Nov 2020 12:51:07 +0000 (13:51 +0100)]
Further str_append progress and bug fixes
Giuseppe Bilotta [Sun, 22 Nov 2020 12:33:40 +0000 (13:33 +0100)]
Further modernization (GET_VAL + strbuf_append)
Giuseppe Bilotta [Sun, 22 Nov 2020 11:58:12 +0000 (12:58 +0100)]
More strbuf_append transition
Giuseppe Bilotta [Sun, 22 Nov 2020 11:45:20 +0000 (12:45 +0100)]
More strbuf_append and other modernization
Giuseppe Bilotta [Sun, 22 Nov 2020 11:17:41 +0000 (12:17 +0100)]
Introduce (and start using) functions to autoexpand a strbuf
Giuseppe Bilotta [Sun, 22 Nov 2020 11:05:21 +0000 (12:05 +0100)]
Keep strbuf end up to date on string fetch
Giuseppe Bilotta [Sun, 22 Nov 2020 11:02:37 +0000 (12:02 +0100)]
Prime all strbufs to 1024 characters
Giuseppe Bilotta [Sun, 22 Nov 2020 10:54:22 +0000 (11:54 +0100)]
Introduce function to reset a strbuf
Giuseppe Bilotta [Sun, 22 Nov 2020 09:26:42 +0000 (10:26 +0100)]
Update time_offset to use GET_VAL
Giuseppe Bilotta [Sat, 21 Nov 2020 10:01:00 +0000 (11:01 +0100)]
Document -d and --prop in manpage
Giuseppe Bilotta [Sat, 21 Nov 2020 09:22:04 +0000 (10:22 +0100)]
Allow filtering by property name
Giuseppe Bilotta [Fri, 20 Nov 2020 23:10:45 +0000 (00:10 +0100)]
Missing frees
Giuseppe Bilotta [Fri, 20 Nov 2020 22:59:19 +0000 (23:59 +0100)]
Fix missing initand wrong sizing
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
Giuseppe Bilotta [Fri, 20 Nov 2020 22:46:51 +0000 (23:46 +0100)]
Comment typo
Giuseppe Bilotta [Fri, 20 Nov 2020 22:23:22 +0000 (23:23 +0100)]
Man page typo
Giuseppe Bilotta [Fri, 20 Nov 2020 13:04:01 +0000 (14:04 +0100)]
Version 3.0.20.11.20
Giuseppe Bilotta [Fri, 20 Nov 2020 11:22:42 +0000 (12:22 +0100)]
cl_khr_device_uuid support
Giuseppe Bilotta [Fri, 20 Nov 2020 10:35:12 +0000 (11:35 +0100)]
Support for cl_ext_cxx_for_opencl
Giuseppe Bilotta [Fri, 20 Nov 2020 10:27:11 +0000 (11:27 +0100)]
Rearrange some queries based on dependencies
Giuseppe Bilotta [Fri, 20 Nov 2020 10:20:31 +0000 (11:20 +0100)]
Update man page
Giuseppe Bilotta [Fri, 20 Nov 2020 10:12:52 +0000 (11:12 +0100)]
Support cl_khr_extended_versioning as platform extension
Giuseppe Bilotta [Fri, 20 Nov 2020 10:08:44 +0000 (11:08 +0100)]
Support cl_khr_extended_versioning as device extension
Giuseppe Bilotta [Fri, 20 Nov 2020 10:09:56 +0000 (11:09 +0100)]
Typos in comments
Giuseppe Bilotta [Fri, 20 Nov 2020 06:41:24 +0000 (07:41 +0100)]
CL_DEVICE_LATEST_CONFORMANCE_VERSION_PASSED
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.
Giuseppe Bilotta [Fri, 20 Nov 2020 00:32:43 +0000 (01:32 +0100)]
Add a couple of TODOs
Giuseppe Bilotta [Fri, 20 Nov 2020 00:30:53 +0000 (01:30 +0100)]
3.0 OpenCL versions and features
Giuseppe Bilotta [Fri, 20 Nov 2020 00:27:43 +0000 (01:27 +0100)]
Preferred work-group size multiple device prop
Giuseppe Bilotta [Fri, 20 Nov 2020 00:24:38 +0000 (01:24 +0100)]
Bunch of boolean props
Giuseppe Bilotta [Fri, 20 Nov 2020 00:11:57 +0000 (01:11 +0100)]
Atomic memory/fences support
Giuseppe Bilotta [Thu, 19 Nov 2020 23:47:33 +0000 (00:47 +0100)]
More «stuff with versions» properties
Giuseppe Bilotta [Thu, 19 Nov 2020 23:43:45 +0000 (00:43 +0100)]
Support CL_DEVICE_EXTENSIONS_WITH_VERSION and make homogeneous
Giuseppe Bilotta [Thu, 19 Nov 2020 23:23:03 +0000 (00:23 +0100)]
Add support for CL_PLATFORM_EXTENSIONS_WITH_VERSION
Giuseppe Bilotta [Thu, 19 Nov 2020 22:33:37 +0000 (23:33 +0100)]
Introduce support for CL_{PLATFORM,DEVICE}_NUMERIC_VERSION
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.
Giuseppe Bilotta [Tue, 17 Nov 2020 20:41:00 +0000 (21:41 +0100)]
Allow specification of single device to show info about
Brice Videau [Thu, 22 Oct 2020 22:15:05 +0000 (22:15 +0000)]
Updated loader version detection to OpenCL 3.0.
bdenhollander [Sat, 10 Oct 2020 18:51:51 +0000 (14:51 -0400)]
Fix a typo
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.
ddeka2910 [Sun, 4 Oct 2020 08:34:43 +0000 (14:04 +0530)]
Add architecture ppc64le to travis build
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.