Hi, Vincent,
Probably I don't fully understand what does 'ICD' means.
What I observe is that after I've installed pocl (and copied pocl.icd to
/etc/OpenCL/vendors/)
There is no way to check that it is really used. 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
>>
>
------------------------------------------------------------------------------
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