[petsc-dev] Possible bugs when using TS with ViennaCL
Karl Rupp
rupp at mcs.anl.gov
Wed Jan 29 08:37:17 CST 2014
Hey,
>> There is only a little bit of code in
>> src/sys/threadcomm/impls/openmp/tcopenmp.c
>> src/sys/threadcomm/impls/openmp/tcopenmpimpl.h
>> in addition to the registration of OpenMP functionality in
>> src/sys/threadcomm/interface/threadcommregi.c
>> I really don't see how this could affect the execution of GPU code if
>> the threadcomm-default 'nothread' is used.
>
> There is a bunch of conditional compilation guarded by the
> (nonconforming style) PETSC_THREADCOMM_ACTIVE. Seems to me it's more
> likely that something bad happens in one of those blocks than that
> -fopenmp causes the compiler to misbehave.
I should have been more precise: If we configure PETSc to use OpenMP
through threadcomm, then we run into issues. OpenMP and OpenCL code per
se, i.e. without any PETSc-code involved, is not causing troubles (and
is a common build with ViennaCL). If I configure
--with-openmp
but without
--with-threadcomm --with-pthreadclasses
then execution is fine. Conversely, configuring
--with-threadcomm --with-pthreadclasses
but without
--with-openmp
also works. If all three options are supplied, wrong results are
obtained. Weird. I'll keep it on my list, but will focus on other items
first.
Best regards,
Karli
More information about the petsc-dev
mailing list