[Mesa-dev] Testing OpenCL with gegl
Jan Vesely
jan.vesely at rutgers.edu
Fri Jun 20 11:11:37 PDT 2014
On Fri, 2014-06-20 at 19:46 +0200, Bruno Jimenez wrote:
> On Fri, 2014-06-20 at 09:31 -0400, Jan Vesely wrote:
> > On Fri, 2014-06-20 at 10:27 +0200, Bruno Jimenez wrote:
> > > Hi,
> >
> > Hi Bruno,
> > I have added mesa list to CC as others might be interested. Hope you
> > don't mind.
>
> Sure, no problem.
>
> >
> > >
> > > I have built babl and gegl but I don't know how to run the OpenCL tests.
> > > Inside the tests/opencl directory there's just .xml files and there
> > > doesn't seem to be any kind of executable.
> > >
> > > Could you please explain me how should I build babl and gegl so I can
> > > use OpenCL tests?
> >
> > both gegl and babel are built using standard autoconf-configure-make
> > combo
> >
> > it's a good idea to build gegl with --enable-debug, the debug output can
> > be rather useful. You can then use GEGL_DEBUG=opencl env var to get some
> > info.
>
> Ok, thanks!
>
> >
> > after building GEGL, you can just run 'make check' in top directory to
> > run the entire test suite. Also most test subdirectories have their own
> > Makefile with 'check' target.
> >
> > Not all test phases touch OpenCL paths, the most important is probably
> > 'compositions' so you can just do
> >
> > cd tests/compositions
> > make check
>
> Thanks, this was precisely what I was missing :)
>
> > The situation on my TURKS GPU is that all but 2 composition tests pass
> > (after applying the patches I sent yesterday)
>
> Seems that with my little CEDAR all fail... although the failure (or at
> least part of the output) seems related to babl. I have to say, that I
> built babl and I use its libs by adding -L/pathtobabllibs/ to BABL_LIBS
> when configuring and to LD_LIBRARY_PATH when testing, maybe it's related
> to this.
>
> Here's the output for the first test:
>
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:610:
> Platform Name: Default
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:611:
> Version: OpenCL 1.1 MESA 10.3.0-devel
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:612:
> Extensions: cl_khr_icd
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:613:
> Default Device Name: AMD CEDAR
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:614: Max
> Alloc: 50331648 bytes
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:615:
> Local Mem: 32768 bytes
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:618:
> Iteration size: (1024, 1024)
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:714:
> Image Support OK
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:830:
> Compiling successful
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:830:
> Compiling successful
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:751: OK
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:632:
> OpenCL is disabled
> GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:632:
> OpenCL is disabled
> babl-format.c:650 babl_format()
> babl_format("CIE Lab alpha float"): not found
> ptrace: Operation not permitted.
> /tmp/babl.gdb:1: Error in sourced command file:
> No stack.
> FAIL affine-with-negative.xml
Do the test run when you explicitly disable OpenCL?
My guess would be that it can't find a babl extension. Make sure both
the main babl lib (installs to $PREFIX/lib/libbabl-0.1.so.0, builds in
babl/.libs), and babl extensions (install to $PREFIX/lib/babl-0.1/,
build in extensions/.libs) are reachable in LD_LIBRARY_PATH.
regards,
Jan
>
> >
> > It's also possible to run individual test manually. There is a a binary
> > in .libs, but it needs access to operation libs. You need to do:
> >
> > GEGL_PATH="./operations" \
> > LD_LIBRARY_PATH="$LD_LIBRARY_PATH:./gegl/.libs/" ./bin/.libs/gegl
> >
> > and then provide path to a test .xml.
> > It displays the result on the screen, -o allows you to set output file
> > (png).
>
> Ok, thanks!
>
> > You can then compare the png file with reference in tests/*/reference
> > using graphicsmagick (or imagemagick):
> > gm compare
> > or
> > gm composite -compose Difference
> >
> > if you have multiple opencl implementations available you can use
> > GEGL_USE_OPENCL env var to select device type. the accepted values are
> > 'yes' (default), 'no'(hard-disable), 'cpu', 'gpu', 'accelerator'
> >
> >
> > HTH, let me know if you have further questions
>
> Sure, same for you!
>
> Thanks in advance!
> Bruno
>
> > Jan
> >
> > >
> > > Thanks in advance!
> > > Bruno
> > >
> >
>
>
--
Jan Vesely <jan.vesely at rutgers.edu>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140620/881eb886/attachment.sig>
More information about the mesa-dev
mailing list