[Pkg-opencl-devel] clinfo

Giuseppe Bilotta giuseppe.bilotta at gmail.com
Fri Nov 7 19:30:58 UTC 2014


Hello,

On 2014-11-5 at 21:13, Simon Richter wrote:

> On 05.11.2014 20:56, Andreas Beckmann wrote:

>> Having not looked at any of the alternatives, can you give advice
>> whether we could just replace your implementation with that github
>> project? Are there features that should be ported over?

I happen to be the author of the clinfo being discussed (the one on
<http://github.com/Oblomov/clinfo>). Here's a few reasons why I think
it could be recommended:

* it's maintained ;-)
* it's very thorough (it reports all OpenCL 1.1, 1.2 and 2.0 device
  feature, both from the standard and from all known —to me— documented
  and undocumented extensions);
* I've recently (in fact, I finished today) introduced a “raw” output
  mode that is machine-parseable (the output mode could be considered
  experimental, in the sense that I'm stll thinking about possible ways
  to make it even easier to parse programmatically).

For most practical matters, it should be possible to use my version as a
drop-in replacement for Simon's implementation, although the output is
somewhat different both from that and from the one shipped with the AMD
SDK (and packaged in Debian as amd-clinfo).

> No real clue. My goal was to replicate the output as closely as
> possible.

I think we all got inspiration from AMD's clinfo, regarding the output.
I've taken the liberty of doing a bunch of changes (coalescing tightly
related properties together, pretty-printing memory sizes etc) because I
think they make sense for human-friendly output. I understand that this
makes it harder to process the output programmatically, which is why I
recently introduced the ‘raw’ output mode.

> The other project appears to compile kernels during its run,
> no idea what for.

I compile some simple kernels in my clinfo to find the preferred
workgroup size: while on most platforms this will just return the
constant, device-dependent SIMD/wavefront/warp size, OpenCL actually
defines it as a kernel property to account for vectorizing compilers
(e.g. Intel's proprietary OpenCL platform).

Best regards,

Giuseppe



More information about the Pkg-opencl-devel mailing list