Boost logo

Boost Users :

Subject: [Boost-users] SUN CC 5.2 support in Boost 1.43?
From: Max S. Kaznady (max.kaznady_at_[hidden])
Date: 2010-09-26 14:47:46


Hi,

I wrote a C++ project using OpenMP, GCC and Boost. When I enable
nested parallelism (omp_set_nested(1)), repeated runs of the same
piece of code produce different results, which suggests that there is
a race condition somewhere, but I do not see anything wrong with the
logic of my code, so I decided to use Sun Studio's Thread Analyzer to
analyze my code. This requires me to build my project with Sun's CC
5.2, which fails with the following warning message from Boost:

"/h/96/g4max/local/boost64/include/boost/numeric/ublas/detail/config.hpp",
line 170: Error: #error Your compiler and/or configuration is
unsupported by this verions of uBLAS. Define
BOOST_UBLAS_UNSUPPORTED_COMPILER=0 to override this message. Boost
1.32.0 includes uBLAS with support for many older compilers..

Is it even possible to compile Boost 1.43 with Sun's CC? I tried
setting user-config.jam and then build with:
./bootstrap.sh --prefix=/install_dir
./bjam --user-config=user-config.jam -j16 toolset=sun
./bjam install

where user-config.jam is:
using sun : 5.2 : /my_sun_location/CC : -library=stlport4
-features=tmplife -features=tmplrefstatic ;

I get a lot of warnings and error messages...

So, my questions are:
1) What is the best way to check parallel code for race conditions
using some free tool?
2) If one such free tool is Sun Studio, then how can I get Boost
working with it?
3) If someone here knows OpenMP, could it be that omp_set_nested()
produces a race condition within a Boost library? My codes run fine
with omp_set_dynamic(1), but as soon as I enable nesting I get race
conditions.

Thanks!
Max


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net