[Llvm-bgq-discuss] Details behind MPI wrapper for bgclang++

Jack Poulson jack.poulson at gmail.com
Fri Mar 1 18:14:39 CST 2013


On Fri, Mar 1, 2013 at 3:40 PM, Hal Finkel <hfinkel at anl.gov> wrote:

> For testing, it will help if this is deterministic (I think)... or at
> least if you have the option to reproduce any particular run that will be
> useful.
>
>
The problem is then to make sure that one of the problematic seeds is used.
I will modify my code to print out the used seed during each run, and once
a bad once is found I will keep running with it.


> >
> > I will happily try the flags you mentioned. Unfortunately, when I
> > switched to using static linkage, I ran into a rather strange
> > compilation problem:
> >
> > [ 9%] Building CXX object
> > CMakeFiles/Backproj-2d.dir/test/transform/Backproj-2d.cpp.o
> > /home/projects/llvm/r175919-20130222/bin/bgclang++ -Wall -std=c++11
> > -static -o
> > CMakeFiles/Backproj-2d.dir/test/transform/Backproj-2d.cpp.o -c
> > /home/poulson/dist-butterfly/test/transform/Backproj-2d.cpp
> > /home/poulson/dist-butterfly/test/transform/Backproj-2d.cpp:8:10:
> > fatal error:
> > 'dist-butterfly.hpp' file not found
> > #include "dist-butterfly.hpp"
>
> This is the real problem. Are you missing a -I<include/path> or something
> like that?
>
> FWIW, the bgclang++ wrapper script will pass -static by default, so unless
> you're specifically passing -shared or setting BGCLANG_STATIC_LINKING=no,
> then you were probably statically linking all along (assuming you were
> linking through the wrapper script as well). My fear was that the wrapper
> script was compiling assuming static linking (which is the default), but
> then CMake was invoking the linker directly assuming dynamic linking, and
> this was causing problems.
>
>
It turns out the problem *was* CMake/me. For whatever reason I added a line
break into the string specifying the compiler flags and CMake chose to do
some very weird things in response. I think this has happened to me before
(and believe it or not, somehow it happened to me again before finishing
this email). Sorry.

Anyway, I've verified that the executables are now static and tests with
one seed passed and another failed (in the same place as before according
to your objdump trick).

When I add the flags you requested, during the build I see:
clang: warning: argument unused during compilation: '-mllvm
-post-RA-scheduler=0'

I should be able to let you know soon whether or not that changes anything.

Jack
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alcf.anl.gov/pipermail/llvm-bgq-discuss/attachments/20130301/6eededd3/attachment.html>


More information about the llvm-bgq-discuss mailing list