Yes this is what I'd need exactly. That sounds great to just
include in the released binaries then.
I believe most people who download the binaries will use them to
link against those mpi libraries and therefore they write source code, so they
debug it.
The user can built release, and would need to link
against release mpi libs (include the c++ runtime release version).
The user will also build debug, and woud need debug
version of the mpi libs (linked against the c++ runtime debug version)
The only way that the user would be ok to link their debug
application vs the release mpi libs, is if the release mpi libs are linked against
debug c++ runtime.
which maybe a way to do it too.
I think the cleanest however is to just provide on the website
both release and debug vesions of the mpic++, of the libs and of the dlls.
On RHEL for e.g., openmpi package contains release and debug
versions of the libs.
THe same issue applies to mpic++. However, the rpm package there
contains mpic++ only.
To be perfectionnist, mpic++d doesn't seem such a perfect
solution because we never really want to debug mpic++ itself, but user may want
to debug libmpid.dll in some cases.
my 2cents,
There is work to do to support openmpi properly in both boost
and cmake.
boost build has a mpi jam file which doesn't properly call
mpic++ on windows. To use Option 3, mpi jam needs to change to call either
mpic++ or mpic++d
cmake findmpi also needs to change to account for both.
Thanks,
MM
From:
Shiqing Fan [mailto:fan@hlrs.de]
Sent: 17 January 2012 15:06
To: MM
Cc: 'Open MPI Users'; Jeff Squyres
Subject: Re: feature requests: mpic++ to report both release and debug
flags
Hi MM,
Actually option 3 has already been implemented for Windows build, and it seems
adequate. But it was not targeting for the windows binary, as only quite a few
users require this feature.
When enabling WANT_EXE_DEBUG_POSTFIX option in CMake GUI, the build system will
generate mpic++.exe (release) and mpic++d.exe (debug), and also their wrapper
data files. So it is possible so just use mpic++ -showsome for release options
and mpic++d -showsome for debug options.
Is this what you are looking for? If it is really necessary, I don't see any
problem to include it in the windows binary releases.
I don't know how this is done on Linux system, can anyone comment?
Regards,
Shiqing
On 2012-01-16 3:51 PM, MM wrote:
Hello,
It would be useful for the end user to use mpic++ to obtain the
compile and link flags for both release and debug builds.
There is a number of possible solutions:
1.
add the showme flags of mpic++ and any other similar binary to
something like -showme:compile_debug -showme:compile_release
-showme:link_release -showme:link_debug
2.
add a -showme_debug flag to tune the -showme:compile -showme:link
3.
have 2 versions of the binary mpic++(release) and mpic++(debug)
4.
have 1 version of the mpic++ but 2 versions of the of
wrapper-data.txt file
5.
have 1 version of mpic++ and 1 version of the wrapper-data file,
and 2 sections in the wrapper-data file
It would be great to have this delivered in the win binaries
package (include both release and debug libs, that's already the case), and
advise 3rd party packagers on unix/linux/mac distributions to do similarily
It would be also useful to publish the cmake flags used by
default to produce the win binaries
I am available to test the packages if possible, also is there a
wiki for requests or a similar system where I should file the above.
MM
Regards,
From:
Shiqing Fan [mailto:fan@hlrs.de]
Sent: 19 November 2011 04:44
To: Open MPI Users
Cc: MM
Subject: Re: [OMPI users] mpic++-wrapper-data.txt msvc10 Release/Debug
1.5.4
Hi,
There is no easy solution. But you can try to use WANT_EXE_DEBUG_POSTFIX option
in CMake GUI. Enabling this option will generate different executable.library
names for debug and release build. For example, mpic++d.exe for debug and
mpic++.exe for release.
For you case, just build both debug and release version of Open MPI 1.5.4, and
install them into the same path, you will get two sets of executables/libraries
(with "d" postfix for debug version) and mpic++ config files (mpic++d-wrapper-data.txt
for debug version). Then just append your own debug/release compile options in
the config files, and build with boost mpi as you need.
Hope this helps.
Regards,
Shiqing
On 2011-11-18 9:44 PM, MM wrote:
Hello,
Compiling
boost mpi library uses mpic++ to get the compile flags to pass to cl.exe and
link libs to pass to the linker.
In
my case:
>>>
mpic++ -showme:compile
/I"C:\Program
Files\openmpi\bin/../include" /TP /EHsc /MD
>>>
mpic++ -showme:link
/link
/LIBPATH:"C:\Program Files\openmpi\bin/../lib" libmpi_cxx.lib
libmpi.lib libopen-pal.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib
To
choose Release build or Debug build, is it possible to use
mpic++-wrapper-data.txt to specify both options?
Release
/MD
libmpi_cxx.lib
libmpi.lib libopen-pal.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib
Debug
/MDd
libmpi_cxxd.lib
libmpid.lib libopen-pald.lib libopen-rted.lib advapi32.lib Ws2_32.lib
shlwapi.lib
is
there a debug version of "advapi32.lib Ws2_32.lib shlwapi.lib"
For
now, I will just override that file for Release, build boost mpi, override for
Debug, build for Debug.
thanks,
MM
_______________________________________________
users mailing list
users@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
---------------------------------------------------------------
Shiqing Fan
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart
http://www.hlrs.de/organization/people/shiqing-fan/
email: fan@hlrs.de
--
---------------------------------------------------------------
Shiqing Fan
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart
http://www.hlrs.de/organization/people/shiqing-fan/
email: fan@hlrs.de