How do I use the output of -showme:link and -showme:compile to customize my boost mpi build?
Hello, Apologies if this is redundant. I have not heard back so I thought I would try to restate my question more clearly in case it was overlooked. Hopefully I don't seem impatient, but I have a customer waiting on me and I'm not sure if I can help them. In an earlier thread, titled "Cannot build boost with MPI using Intel openMPI wrapper", Alain Miniussi suggested I execute the following commands: $/usr/local/tools/openmpi-intel-debug-1.8.4/bin/mpicxx --showme:compile $/usr/local/tools/openmpi-intel-debug-1.8.4/bin/mpicxx --showme:link I have done so and they appear to give me sane output: rcook@rzgpu2 (~ ): /usr/local/tools/openmpi-intel-debug-1.8.4/bin/mpicxx --showme:compile -I/usr/local/tools/openmpi-intel-debug-1.8.4/include/openmpi/opal/mca/hwloc/hwloc191/hwloc/include -I/usr/local/tools/openmpi-intel-debug-1.8.4/include/openmpi/opal/mca/event/libevent2021/libevent -I/usr/local/tools/openmpi-intel-debug-1.8.4/include/openmpi/opal/mca/event/libevent2021/libevent/include -I/usr/local/tools/openmpi-intel-debug-1.8.4/include -I/usr/local/tools/openmpi-intel-debug-1.8.4/include/openmpi -pthread My question is now, how do I use this output to configure boost to properly build using my Intel MPI wrappers? Currently, I'm seeing this in my output: ==============MPI Auto-configuration=============== MPI auto-detection failed: unknown wrapper compiler /usr/local/tools/openmpi-intel-debug-1.8.4/bin/mpiCC Please report this error to the Boost mailing list: http://www.boost.orghttp://www.boost.org/ You will need to manually configure MPI support. MPI launcher: mpirun -np ==================================================== Thanks so much for any help. -- ✐Richard Cook ✇ Lawrence Livermore National Laboratory Bldg-453 Rm-4024, Mail Stop L-557 7000 East Avenue, Livermore, CA, 94550, USA ☎ (office) (925) 423-9605 ☎ (fax) (925) 423-6961 --- Information Management & Graphics Grp., Services & Development Div., Integrated Computing & Communications Dept. (opinions expressed herein are mine and not those of LLNL)
Hello
Apologies if this is redundant. I have not heard back so I thought I would try to restate my question more clearly in case it was overlooked.
I think the best way would be to try to get boost to compile the program as you would do it on the command line. There are several ways to accomplish this: 1) tell boost to use the wrapper compiler for everything: cd /path/to/boost echo "using gcc : 4.7.2 : CC ;" >> ./tools/build/v2/user-config.jam where CC is the compiler command to use when compiling any C++ program (this was on a Cray machine), the version string might be optional if you don't plan to compile with different versions of gcc. Also tell boost to try to build mpi related stuff: echo "using mpi ;" >> ./tools/build/v2/user-config.jam If the wrapper compiler takes care of everything and doesn't freak out from additional options that might be given by boost then that should work. In case of mpich this should do it: echo "using mpi : : mpich ;" >> ./tools/build/v2/user-config.jam 2) tell boost to use the wrapper compiler only for compiling mpi things: echo "using mpi : mpicxx ;" >> ./tools/build/v2/user-config.jam You also might be able to tell boost not try to be smart by giving empty extra flags like: echo "using mpi : mpicxx : <find-shared-library> ;" >> ./tools/build/v2/user-config.jam etc. 3) Give all options manually to either the mpi compile command or the main compile command like so: echo "using gcc : : : <compileflags>-I/opt/cray/mpt/5.2.1/xt/seastar/mpich2-gnu/include <linkflags>-L/opt/cray/mpt/5.2.1/xt/seastar/mpich2-gnu/lib ;" >> ./tools/build/v2/user-config.jam The paths above would be the ones you got from mpicxx -showme. Note that in recent versions of boost the path to user-config.jam has changed to ./tools/build/src/user-config.jam Examples are given for different machines e.g. on this page: https://github.com/fmihpc/dccrg/wiki/Pleiades and several subpages (curie, jugene, hermit, etc.) accessible from: https://gitorious.org/dccrg/pages Ilja
participants (2)
-
Cook, Rich
-
Ilja Honkonen