Re: [OMPI users] openmpi 1.10.2 and PGI 15.9
Michael, i will followup on that in the devel mailing list. imho, there are three ways to see this : 1) this is an environment (e.g. user) issue: if you want it to work, then slurm should be rebuilt with pgi compiler. 2) this is a libtool issue : it does not support mixing .la files built with gcc and pgcc (e.g. -pthread option is unknown by pgcc) 3) this is an other libtool issue : -noswitcherror should be passed by libtool to the PGI compiler Open MPI is not to be blamed here. that being said, i am pragmatic so i do not mind hacking (one more time ...) libtool in OpenMPI to fix libtool or even make it PGI/GNU friendly Cheers, Gilles On 7/26/2016 2:52 AM, Michael Di Domenico wrote: On Mon, Jul 25, 2016 at 4:53 AM, Gilles Gouaillardetwrote: as a workaround, you can configure without -noswitcherror. after you ran configure, you have to manually patch the generated 'libtool' file and add the line with pgcc*) and the next line like this : /* if pgcc is used, libtool does *not* pass -pthread to pgcc any more */ # Convert "-framework foo" to "foo.ltframework" # and "-pthread" to "-Wl,-pthread" if NAG compiler if test -n "$inherited_linker_flags"; then case "$CC" in nagfor*) tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread/-Wl,-pthread/g'`;; pgcc*) tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread//g'`;; *) tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`;; esac i guess the right way is to patch libtool so it passes -noswitcherror to $CC and/or $LD, but i was not able to achieve that yet. Thanks. I managed to work around the issue, by hand compiling the single module that failed during the build process. but something is definitely amiss in the openmpi compile system when it comes to pgi ___ users mailing list us...@open-mpi.org Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2016/07/29707.php
Re: [OMPI users] openmpi 1.10.2 and PGI 15.9
On Mon, Jul 25, 2016 at 4:53 AM, Gilles Gouaillardetwrote: > > as a workaround, you can configure without -noswitcherror. > > after you ran configure, you have to manually patch the generated 'libtool' > file and add the line with pgcc*) and the next line like this : > > /* if pgcc is used, libtool does *not* pass -pthread to pgcc any more */ > > ># Convert "-framework foo" to "foo.ltframework" > # and "-pthread" to "-Wl,-pthread" if NAG compiler > if test -n "$inherited_linker_flags"; then > case "$CC" in > nagfor*) > tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | > $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED > 's/-pthread/-Wl,-pthread/g'`;; > pgcc*) > tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | > $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread//g'`;; > *) > tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | > $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`;; > esac > > > i guess the right way is to patch libtool so it passes -noswitcherror to $CC > and/or $LD, but i was not able to achieve that yet. Thanks. I managed to work around the issue, by hand compiling the single module that failed during the build process. but something is definitely amiss in the openmpi compile system when it comes to pgi
Re: [OMPI users] openmpi 1.10.2 and PGI 15.9
Michael, as a workaround, you can configure without -noswitcherror. after you ran configure, you have to manually patch the generated 'libtool' file and add the line with pgcc*) and the next line like this : /* if pgcc is used, libtool does *not* pass -pthread to pgcc any more */ # Convert "-framework foo" to "foo.ltframework" # and "-pthread" to "-Wl,-pthread" if NAG compiler if test -n "$inherited_linker_flags"; then case "$CC" in nagfor*) tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread/-Wl,-pthread/g'`;; pgcc*) tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g' | $SED 's/-pthread//g'`;; *) tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`;; esac i guess the right way is to patch libtool so it passes -noswitcherror to $CC and/or $LD, but i was not able to achieve that yet. Cheers, Gilles On 7/23/2016 12:31 AM, Michael Di Domenico wrote: So, the -noswitcherror is partially working. I added the switch into my configure line LDFLAGS param. I can see the parameter being passed to libtool, but for some reason libtool is refusing to passing it along at compile. if i sh -x the libtool command line, i can see it set in a few variables, but at the end when eval's the compile line for pgcc the option is missing. if i cut and past the eval line and hand put it back in, the library compiles with a pgcc warning instead of an error which i believe what i want, but i'm not sure why libtool is dropping the switch On Tue, Jul 19, 2016 at 5:27 AM, Sylvain Jeaugeywrote: As a workaround, you can also try adding -noswitcherror to PGCC flags. On 07/11/2016 03:52 PM, Åke Sandgren wrote: Looks like you are compiling with slurm support. If so, you need to remove the "-pthread" from libslurm.la and libpmi.la On 07/11/2016 02:54 PM, Michael Di Domenico wrote: I'm trying to get openmpi compiled using the PGI compiler. the configure goes through and the code starts to compile, but then gets hung up with entering: openmpi-1.10.2/opal/mca/common/pmi CC common_pmi.lo CCLD libmca_common_pmi.la pgcc-Error-Unknown switch: - pthread ___ users mailing list us...@open-mpi.org Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2016/07/29635.php --- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. --- ___ users mailing list us...@open-mpi.org Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2016/07/29692.php ___ users mailing list us...@open-mpi.org Subscription: https://www.open-mpi.org/mailman/listinfo.cgi/users Link to this post: http://www.open-mpi.org/community/lists/users/2016/07/29702.php
Re: [OMPI users] ompi_info -c does not print configure arguments
Jeff, i made https://github.com/open-mpi/ompi/pull/1898 in order to add this feature Cheers, Gilles On 7/24/2016 10:13 AM, Gilles Gouaillardet wrote: Jeff, currently there is no way to retrieve the configure command line. I previously discussed this with Jeff S. and it seems autotools do not provide a reliable way to retrieve the configure command line. I will have a look at how mpich is doing it, and try to mimick that in ompi. if there is a consensus an approximation of the configure command line is better than nothing, then I will push the changes. Cheers, Gilles On Sunday, July 24, 2016, Jeff Hammond> wrote: ompi_info -h indicates that -c shows configuration options, ie configure arguments: $ /home/projects/x86-64-knl/openmpi/1.10.2/intel/17.0.042/bin/ompi_info -h -- The ompi_info command can be used to provide detailed information on your Open MPI installation. Syntax: -a|--all Show all configuration options and MCA parameters -am Aggregate MCA parameter set file list --archShow architecture Open MPI was compiled on -c|--config Show configuration options So I expect something like what mpichversion gives me, which I find incredibly useful: $ ~/MPICH/install-ch3-ofi-psm2/bin/mpichversion MPICH Version: 3.2 MPICH Release date:unreleased development copy MPICH Device: ch3:nemesis MPICH configure: CC=icc CXX=icpc FC=ifort F77=ifort --with-ofi=~/OFI/install-psm2 --with-device=ch3:nemesis:ofi --prefix=~/MPICH/install-ch3-ofi-psm2 MPICH CC: icc-O2 MPICH CXX: icpc -O2 MPICH F77: ifort -O2 MPICH FC: ifort -O2 Unfortunately, I see nothing that is directly convertible to configure arguments in the following: $ /home/projects/x86-64-knl/openmpi/1.10.2/intel/17.0.042/bin/ompi_info -c Configured by: XXX Configured on: Mon Apr 18 18:47:25 EDT 2016 Configure host: XXX Built by: XXX Built on: Mon Apr 18 19:16:55 EDT 2016 Built host: XXX C bindings: yes C++ bindings: yes Fort mpif.h: yes (all) Fort use mpi: yes (full: ignore TKR) Fort use mpi size: deprecated-ompi-info-value Fort use mpi_f08: yes Fort mpi_f08 compliance: The mpi_f08 module is available, but due to limitations in the /home/projects/x86-64-knl/intel/compilers/2017-beta/compilers_and_libraries_2017.0.042/linux/bin/intel64/ifort compiler, does not support the following: array subsections, direct passthru (where possible) to underlying Open MPI's C functionality Fort mpi_f08 subarrays: no Java bindings: yes Wrapper compiler rpath: runpath C compiler: /home/projects/x86-64-knl/intel/compilers/2017-beta/compilers_and_libraries_2017.0.042/linux/bin/intel64/icc C compiler absolute: C compiler family name: INTEL C compiler version: 1700.20160315 C char size: 1 C bool size: 1 C short size: 2 C int size: 4 C long size: 8 C float size: 4 C double size: 8 C pointer size: 8 C char align: 1 C bool align: 1 C int align: 4 C float align: 4 C double align: 8 C++ compiler: /home/projects/x86-64-knl/intel/compilers/2017-beta/compilers_and_libraries_2017.0.042/linux/bin/intel64/icpc C++ compiler absolute: none Fort compiler: /home/projects/x86-64-knl/intel/compilers/2017-beta/compilers_and_libraries_2017.0.042/linux/bin/intel64/ifort Fort compiler abs: Fort ignore TKR: yes (!DEC$ ATTRIBUTES NO_ARG_CHECK ::) Fort 08 assumed shape: yes Fort optional args: yes Fort INTERFACE: yes Fort ISO_FORTRAN_ENV: yes Fort STORAGE_SIZE: yes Fort BIND(C) (all): yes Fort ISO_C_BINDING: yes Fort SUBROUTINE BIND(C): yes Fort TYPE,BIND(C): yes Fort T,BIND(C,name="a"): yes Fort PRIVATE: yes Fort PROTECTED: yes Fort ABSTRACT: yes Fort ASYNCHRONOUS: yes Fort PROCEDURE: yes Fort USE...ONLY: yes Fort C_FUNLOC: yes Fort f08 using wrappers: yes Fort MPI_SIZEOF: yes Fort integer size: 4