On 26/02/2014 08:25, anti_tenzor wrote:
> Hi, Vincent,
> 
> Probably I don't fully understand what does 'ICD' means.

This is an OpenCL implementation provided as a shared library that
will be dynamically loaded (with dlopen) by the libOpenCL.so.1 library.

> What I observe is that after I've installed pocl (and copied pocl.icd to 
> /etc/OpenCL/vendors/)

Check the path in your pocl.icd file. It must point to the pocl library.

> There is no way to check that it is really used.

Install the amd-clinfo package (on Debian or Ubuntu, I do not know the
name of the package on other distributions) and run the clinfo program.
  It will list all ICD available on your machine. If Pocl is not
listed, then you have a problem with the pocl compilation (the shared
library cannot be loaded) or installation.

  To debug more deeply, you can recompile ocl-icd with debug support
and re-run ocl-icd with OCL_ICD_DEBUG set to 7 :
env OCL_ICD_DEBUG=7 clinfo
  If you are under Ubuntu or Debian, I can povide you a ocl-icd-libopencl1
package with debug enabled.

  Regards,
    Vincent

> When I query list of available platforms, my code still mentions only "AMD".
> How is it possible to force my kernel to be compiled via pocl with maximum 
> CPU performance?
> 
> Please, help me to verify this!
> 
> (My search for better cpu support is due to the fact that AMD does not bother 
> to use SSE4, AVX, AVX2, etc instruction sets even
> on it's own processors).
> 
> BR,
> Oleg.
> 
> PS BTW, ocl-icd doesn't compile on my Ubuntu 10.04 Lucid (64 bit). Here is 
> build log:
> 
> /ocl-icd-2.1.3$ ./configure --prefix=/usr CPPFLAGS=-I/opt/AMDAPP/include
> 
> 
> /ocl-icd-2.1.3$ make
> make  all-recursive
> make[1]: Entering directory `/ocl-icd-2.1.3'
> Making all in .
> make[2]: Entering directory `/ocl-icd-2.1.3'
> /bin/bash ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -Wall 
> -Werror -I/opt/AMDAPP/include -Wno-deprecated-declarations   -g -O2 -MT 
> libOpenCL_la-ocl_icd_loader.lo -MD -MP -MF 
> .deps/libOpenCL_la-ocl_icd_loader.Tpo -c -o libOpenCL_la-ocl_icd_loader.lo 
> `test -f 'ocl_icd_loader.c' || echo './'`ocl_icd_loader.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -Wall -Werror 
> -I/opt/AMDAPP/include -Wno-deprecated-declarations -g -O2 -MT 
> libOpenCL_la-ocl_icd_loader.lo -MD -MP -MF 
> .deps/libOpenCL_la-ocl_icd_loader.Tpo -c ocl_icd_loader.c  -fPIC -DPIC -o 
> .libs/libOpenCL_la-ocl_icd_loader.o
> cc1: warnings being treated as errors
> ocl_icd_loader.c:40: error: expected [error|warning|ignored] after '#pragma 
> GCC diagnostic'
> ocl_icd_loader.c:41: error: unknown option after '#pragma GCC diagnostic' kind
> ocl_icd_loader.c:44: error: expected [error|warning|ignored] after '#pragma 
> GCC diagnostic'
> In file included from ocl_icd_loader.h:31,
>                  from ocl_icd_loader.c:48:
> ocl_icd.h:32: error: expected [error|warning|ignored] after '#pragma GCC 
> diagnostic'
> ocl_icd.h:33: error: unknown option after '#pragma GCC diagnostic' kind
> ocl_icd.h:41: error: expected [error|warning|ignored] after '#pragma GCC 
> diagnostic'
> In file included from ocl_icd_loader.c:50:
> ocl_icd_debug.h:29: error: expected [error|warning|ignored] after '#pragma 
> GCC diagnostic'
> ocl_icd_debug.h:30: error: unknown option after '#pragma GCC diagnostic' kind
> ocl_icd_debug.h:35: error: expected [error|warning|ignored] after '#pragma 
> GCC diagnostic'
> In file included from ocl_icd_loader.c:50:
> ocl_icd_debug.h:69: error: expected [error|warning|ignored] after '#pragma 
> GCC diagnostic'
> ocl_icd_debug.h:72: error: expected [error|warning|ignored] after '#pragma 
> GCC diagnostic'
> make[2]: *** [libOpenCL_la-ocl_icd_loader.lo] Error 1
> make[2]: Leaving directory `/ocl-icd-2.1.3'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/ocl-icd-2.1.3'
> make: *** [all] Error 2
> 
> 
> 
> 
> 
> 
> On 22.02.2014 11:54, Vincent Danjean wrote:
>> On 22/02/2014 00:53, Anti_Tenzor wrote:
>>> This is continuations of the previous mail...
>>>
>>> I observed that "make check" links examples with "-lOpenCL". So in fact it 
>>> links them to default AMD implementation. I have to link it to libOpenCL.so 
>>> that pocl SHOULD produce after build.
>>> But I can not find it in tree. Where should I look for this lib?
>> OpenCL implementation can be provided as a libOpenCL.so library.
>> However, since OpenCL 1.1, this is not the recommanded way.
>> Instead, libOpenCL.so should be a generic OpenCL call dispatcher
>> against the various installed OpenCL implementation. These
>> implementation are provided as ICD.
>>    About pocl, in its default compilation mode, it only provides
>> an ICD (so an ICD Loaded, aka a generic libOpenCL.so library
>> must be used in addition). If you really want, you can use
>> configure switches to compile pocl in standalone mode (ie the
>> OpenCL implementation in put directly in a libOpenCL.so
>> library that can then only provide pocl implementation).
>>
>>    If you start the classical path (compiling pocl as an ICD),
>> as already said, you need an ICD Loader (ie, a generic
>> libOpenCL.so library). You can use the one provided by Intel,
>> AMD or NVidia (in the latter case, OpenCL 1.2 calls are not
>> supported for now, even if the ICD support them).
>>    But you can also use the free ocl-icd implementation. This
>> independent project (I'm one of the author of it) aims at
>> providing a free implementation of an ICD Loader. As this
>> project already exists, there is no need to copy/rewrite it
>> in a project such as pocl. You just need to use it (and report
>> bugs against it if something does not work, especially if this
>> work with non-free implementation (AMD, Intel, ...)).
>>
>>    Regards,
>>      Vincent
>>
>> [ocl-icd]: https://forge.imag.fr/projects/ocl-icd/
>>
>>> Here is my ./configure parameters:
>>>
>>> $ ./configure --prefix=/usr --enable-direct-linkage --enable-testsuites=all 
>>> CPPFLAGS="-I/opt/AMDAPP/include"
>>>
>>> BR,
>>> Oleg.
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Managing the Performance of Cloud-Based Applications
>>> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
>>> Read the Whitepaper.
>>> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
>>>
>>>
>>>
>>> _______________________________________________
>>> pocl-devel mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/pocl-devel
>>>
>>
> 


-- 
Vincent Danjean          Adresse: Laboratoire LIG - Bât. INRIA Rhône-Alpes
Téléphone:  +33 4 76 61 55 10            655 avenue de l'Europe
Fax:        +33 4 76 61 52 52            Montbonnot Saint Martin
Email: [email protected]           38334 Saint-Ismier cedex

------------------------------------------------------------------------------
Flow-based real-time traffic analytics software. Cisco certified tool.
Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer
Customize your own dashboards, set traffic alerts and generate reports.
Network behavioral analysis & security monitoring. All-in-one tool.
http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk
_______________________________________________
pocl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pocl-devel

Reply via email to