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.

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/ 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.


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.


Leave a Comment

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