[Mesa-dev] Testing OpenCL with gegl

Bruno Jimenez brunojimen at gmail.com
Fri Jun 20 10:46:35 PDT 2014

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

> 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!

> Jan
> > 
> > Thanks in advance!
> > Bruno
> > 

More information about the mesa-dev mailing list