Serializations broken for some reducers

Serializations broken for some reducers

On Linux, if you compile the reducer example with -fcilk-stub to create a serialization, compilation will fail.

Closer examination of the various reducer header files revealed the following comment in several:

///////////////////////////////////////////////////////////////////////////
// Support for backwards-compatibility with Cilk 1.0 reducers.
// DO NOT USE THESE INTERFACES FOR NEW CODE
///////////////////////////////////////////////////////////////////////////

If the code to which these comments is attached in the reducer include files is commented out, then the serializations work, as long as you have a version of libstdc++ that is new enough for the cilk++ compiler installed. The reducer serialization failed on my local Red Hat system with the error message

./reducer: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./reducer)

even though the cilk++ version compiled without -fcilk-stub ran fine.

I built gcc-4.2.4 (compatible with what the cilk++ installation was based upon) and put the path to the installations lib64 directory on my LD_LIBRARY_PATH and that fixed things. Your release/installation notes should indicate version requirements for libstdc++ and how to satisfy them.

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

John,

Thanks for reporting this issue. I'm glad you found a workaround; we are no longer planning to support the legacy form of reducers, so the suspect code is safe to remove.

steve

Leave a Comment

Please sign in to add a comment. Not a member? Join today