[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