------- Comment #4 from mika dot fischer at kit dot edu  2010-04-09 22:10 
-------
I'm Martin's coworker and want to add some additional points.

Just be be clear, this is not an exotic toy example, it is causing us real
problems with production code. Martin just stripped it down so it can be easily
reproduced.

The same goes for GOMP_CPU_AFFINITY. Of course we don't use it. It just makes
it very easy to reproduce the bug. The real problem we're having is being
caused by other threads than OpenMP threads causing load on some cores. You can
also easily test this by occupying one of the cores using some computation and
running the test program without GOMP_CPU_AFFINITY.

I also don't quite get why GOMP_CPU_AFFINITY should cause starvation. Maybe you
could elaborate. It's clear that it will cause additional scheduling overhead
and one thread might have to wait for the other to finish, but I would not call
this starvation.

Finally, and most importantly, the workaround we're currently employing is to
use libgomp.so.1 (via LD_LIBRARY_PATH) from OpenSuSE 11.0. With this version of
libgomp, the problem does not occur at all!

Here's the gcc -v output from the GCC release of OpenSuSE 11.0 from which we
took the working libgomp:
gcc -v
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --with-local-prefix=/usr/local
--infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64
--libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3
--enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/
--with-pkgversion='SUSE Linux' --disable-libgcj --with-slibdir=/lib64
--with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new
--disable-libstdcxx-pch --program-suffix=-4.3
--enable-version-specific-runtime-libs --enable-linux-futex
--without-system-libunwind --with-cpu=generic --build=x86_64-suse-linux
Thread model: posix
gcc version 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE
Linux)


-- 

mika dot fischer at kit dot edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mika dot fischer at kit dot
                   |                            |edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43706

Reply via email to