Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Hi Ralph, I comfirmed that the openib issue was really fixed by r32395 and hope you'll be able to release the final version soon. Tetsuya > Kewl - the openib issue has been fixed in the nightly tarball. I'm waiting for review of a couple of pending CMRs, then we'll release a quick rc4 and move to release the final version > > > On Aug 1, 2014, at 9:55 PM, tmish...@jcity.maeda.co.jp wrote: > > > > > > > I comfirmed openmpi-1.8.2rc3 with PGI-14.7 worked fine for me > > except for the openib issue reported by Mike Dubman. > > > > Tetsuya Mishima > > > >> Sorry, finally got through all this ompi email and see this problem was > > fixed. > >> > >> -Original Message- > >> From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Pritchard > > Jr., Howard > >> Sent: Friday, August 01, 2014 8:59 AM > >> To: Open MPI Developers > >> Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with > > PGI-14.7 causes link error > >> > >> Hi Jeff, > >> > >> Finally got info yesterday about where the newer PGI compilers are hiding > > out at LANL. > >> I'll check this out today. > >> > >> Howard > >> > >> > >> -Original Message----- > >> From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Jeff Squyres > > (jsquyres) > >> Sent: Tuesday, July 29, 2014 5:24 PM > >> To: Open MPI Developers List > >> Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with > > PGI-14.7 causes link error > >> > >> Tetsuya -- > >> > >> I am unable to test with the PGI compiler -- I don't have a license. I > > was hoping that LANL would be able to test today, but I don't think they > > got to it. > >> > >> Can you send more details? > >> > >> E.g., can you send the all the stuff listed on > > http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 > > compiler? > >> > >> I'm *guessing* that we've done something new in the changes since 1.8 > > that PGI doesn't support, and we need to disable that something (hopefully > > while not needing to disable the entire mpi_f08 > >> bindings...). > >> > >> > >> > >> On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > >> > >>> > >>> Hi folks, > >>> > >>> I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > >>> program. Then, it causes linking error: > >>> > >>> [mishima@manage work]$ cat test.f > >>> program hello_world > >>> use mpi_f08 > >>> implicit none > >>> > >>> type(MPI_Comm) :: comm > >>> integer :: myid, npes, ierror > >>> integer :: name_length > >>> character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > >>> > >>> call mpi_init(ierror) > >>> comm = MPI_COMM_WORLD > >>> call MPI_Comm_rank(comm, myid, ierror) > >>> call MPI_Comm_size(comm, npes, ierror) > >>> call MPI_Get_processor_name(processor_name, name_length, ierror) > >>> write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > >>>+"Process", myid, "of", npes, "is on", trim(processor_name) > >>> call MPI_Finalize(ierror) > >>> > >>> end program hello_world > >>> > >>> [mishima@manage work]$ mpif90 test.f -o test.ex > >>> /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > >>> test.f:(.data+0x6c): undefined reference to > > `mpi_f08_interfaces_callbacks_' > >>> test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > >>> test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > >>> test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > >>> > >>> So, I did some more tests with previous version of PGI and > >>> openmpi-1.8. The results are summarized as follows: > >>> > >>> PGI13.10 PGI14.7 > >>> openmpi-1.8 OK OK > >>> openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > >>> > >>> Regards, > >>> Tetsuya Mishima > >>> > >>> ___ > >
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Kewl - the openib issue has been fixed in the nightly tarball. I'm waiting for review of a couple of pending CMRs, then we'll release a quick rc4 and move to release the final version On Aug 1, 2014, at 9:55 PM, tmish...@jcity.maeda.co.jp wrote: > > > I comfirmed openmpi-1.8.2rc3 with PGI-14.7 worked fine for me > except for the openib issue reported by Mike Dubman. > > Tetsuya Mishima > >> Sorry, finally got through all this ompi email and see this problem was > fixed. >> >> -Original Message- >> From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Pritchard > Jr., Howard >> Sent: Friday, August 01, 2014 8:59 AM >> To: Open MPI Developers >> Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with > PGI-14.7 causes link error >> >> Hi Jeff, >> >> Finally got info yesterday about where the newer PGI compilers are hiding > out at LANL. >> I'll check this out today. >> >> Howard >> >> >> -Original Message- >> From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Jeff Squyres > (jsquyres) >> Sent: Tuesday, July 29, 2014 5:24 PM >> To: Open MPI Developers List >> Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with > PGI-14.7 causes link error >> >> Tetsuya -- >> >> I am unable to test with the PGI compiler -- I don't have a license. I > was hoping that LANL would be able to test today, but I don't think they > got to it. >> >> Can you send more details? >> >> E.g., can you send the all the stuff listed on > http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 > compiler? >> >> I'm *guessing* that we've done something new in the changes since 1.8 > that PGI doesn't support, and we need to disable that something (hopefully > while not needing to disable the entire mpi_f08 >> bindings...). >> >> >> >> On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: >> >>> >>> Hi folks, >>> >>> I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample >>> program. Then, it causes linking error: >>> >>> [mishima@manage work]$ cat test.f >>> program hello_world >>> use mpi_f08 >>> implicit none >>> >>> type(MPI_Comm) :: comm >>> integer :: myid, npes, ierror >>> integer :: name_length >>> character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name >>> >>> call mpi_init(ierror) >>> comm = MPI_COMM_WORLD >>> call MPI_Comm_rank(comm, myid, ierror) >>> call MPI_Comm_size(comm, npes, ierror) >>> call MPI_Get_processor_name(processor_name, name_length, ierror) >>> write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') >>>+"Process", myid, "of", npes, "is on", trim(processor_name) >>> call MPI_Finalize(ierror) >>> >>> end program hello_world >>> >>> [mishima@manage work]$ mpif90 test.f -o test.ex >>> /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': >>> test.f:(.data+0x6c): undefined reference to > `mpi_f08_interfaces_callbacks_' >>> test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' >>> test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' >>> test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' >>> >>> So, I did some more tests with previous version of PGI and >>> openmpi-1.8. The results are summarized as follows: >>> >>> PGI13.10 PGI14.7 >>> openmpi-1.8 OK OK >>> openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error >>> >>> Regards, >>> Tetsuya Mishima >>> >>> ___ >>> devel mailing list >>> de...@open-mpi.org >>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> Link to this post: >>> http://www.open-mpi.org/community/lists/devel/2014/07/15303.php >> >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15335.php >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15452.php >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15455.php > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/08/15468.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
I comfirmed openmpi-1.8.2rc3 with PGI-14.7 worked fine for me except for the openib issue reported by Mike Dubman. Tetsuya Mishima > Sorry, finally got through all this ompi email and see this problem was fixed. > > -Original Message- > From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Pritchard Jr., Howard > Sent: Friday, August 01, 2014 8:59 AM > To: Open MPI Developers > Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error > > Hi Jeff, > > Finally got info yesterday about where the newer PGI compilers are hiding out at LANL. > I'll check this out today. > > Howard > > > -Original Message- > From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Jeff Squyres (jsquyres) > Sent: Tuesday, July 29, 2014 5:24 PM > To: Open MPI Developers List > Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error > > Tetsuya -- > > I am unable to test with the PGI compiler -- I don't have a license. I was hoping that LANL would be able to test today, but I don't think they got to it. > > Can you send more details? > > E.g., can you send the all the stuff listed on http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 compiler? > > I'm *guessing* that we've done something new in the changes since 1.8 that PGI doesn't support, and we need to disable that something (hopefully while not needing to disable the entire mpi_f08 > bindings...). > > > > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > > > Hi folks, > > > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > > program. Then, it causes linking error: > > > > [mishima@manage work]$ cat test.f > > program hello_world > > use mpi_f08 > > implicit none > > > > type(MPI_Comm) :: comm > > integer :: myid, npes, ierror > > integer :: name_length > > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > > > call mpi_init(ierror) > > comm = MPI_COMM_WORLD > > call MPI_Comm_rank(comm, myid, ierror) > > call MPI_Comm_size(comm, npes, ierror) > > call MPI_Get_processor_name(processor_name, name_length, ierror) > > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > > +"Process", myid, "of", npes, "is on", trim(processor_name) > > call MPI_Finalize(ierror) > > > > end program hello_world > > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > > > So, I did some more tests with previous version of PGI and > > openmpi-1.8. The results are summarized as follows: > > > > PGI13.10 PGI14.7 > > openmpi-1.8 OK OK > > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > > > Regards, > > Tetsuya Mishima > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > > http://www.open-mpi.org/community/lists/devel/2014/07/15303.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15335.php > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/08/15452.php > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/08/15455.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Sorry, finally got through all this ompi email and see this problem was fixed. -Original Message- From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Pritchard Jr., Howard Sent: Friday, August 01, 2014 8:59 AM To: Open MPI Developers Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error Hi Jeff, Finally got info yesterday about where the newer PGI compilers are hiding out at LANL. I'll check this out today. Howard -Original Message- From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Jeff Squyres (jsquyres) Sent: Tuesday, July 29, 2014 5:24 PM To: Open MPI Developers List Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error Tetsuya -- I am unable to test with the PGI compiler -- I don't have a license. I was hoping that LANL would be able to test today, but I don't think they got to it. Can you send more details? E.g., can you send the all the stuff listed on http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 compiler? I'm *guessing* that we've done something new in the changes since 1.8 that PGI doesn't support, and we need to disable that something (hopefully while not needing to disable the entire mpi_f08 bindings...). On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > Hi folks, > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > program. Then, it causes linking error: > > [mishima@manage work]$ cat test.f > program hello_world > use mpi_f08 > implicit none > > type(MPI_Comm) :: comm > integer :: myid, npes, ierror > integer :: name_length > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > call mpi_init(ierror) > comm = MPI_COMM_WORLD > call MPI_Comm_rank(comm, myid, ierror) > call MPI_Comm_size(comm, npes, ierror) > call MPI_Get_processor_name(processor_name, name_length, ierror) > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > +"Process", myid, "of", npes, "is on", trim(processor_name) > call MPI_Finalize(ierror) > > end program hello_world > > [mishima@manage work]$ mpif90 test.f -o test.ex > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > So, I did some more tests with previous version of PGI and > openmpi-1.8. The results are summarized as follows: > > PGI13.10 PGI14.7 > openmpi-1.8 OK OK > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > Regards, > Tetsuya Mishima > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15303.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ ___ devel mailing list de...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15335.php ___ devel mailing list de...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: http://www.open-mpi.org/community/lists/devel/2014/08/15452.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Hi Jeff, Finally got info yesterday about where the newer PGI compilers are hiding out at LANL. I'll check this out today. Howard -Original Message- From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Jeff Squyres (jsquyres) Sent: Tuesday, July 29, 2014 5:24 PM To: Open MPI Developers List Subject: Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error Tetsuya -- I am unable to test with the PGI compiler -- I don't have a license. I was hoping that LANL would be able to test today, but I don't think they got to it. Can you send more details? E.g., can you send the all the stuff listed on http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 compiler? I'm *guessing* that we've done something new in the changes since 1.8 that PGI doesn't support, and we need to disable that something (hopefully while not needing to disable the entire mpi_f08 bindings...). On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > Hi folks, > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > program. Then, it causes linking error: > > [mishima@manage work]$ cat test.f > program hello_world > use mpi_f08 > implicit none > > type(MPI_Comm) :: comm > integer :: myid, npes, ierror > integer :: name_length > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > call mpi_init(ierror) > comm = MPI_COMM_WORLD > call MPI_Comm_rank(comm, myid, ierror) > call MPI_Comm_size(comm, npes, ierror) > call MPI_Get_processor_name(processor_name, name_length, ierror) > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > +"Process", myid, "of", npes, "is on", trim(processor_name) > call MPI_Finalize(ierror) > > end program hello_world > > [mishima@manage work]$ mpif90 test.f -o test.ex > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > So, I did some more tests with previous version of PGI and > openmpi-1.8. The results are summarized as follows: > > PGI13.10 PGI14.7 > openmpi-1.8 OK OK > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > Regards, > Tetsuya Mishima > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15303.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ ___ devel mailing list de...@open-mpi.org Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15335.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Trunk now works for me using Tetsuya's test code with both PGI-14.1 and 14.4 -Paul On Thu, Jul 31, 2014 at 6:17 PM, Jeff Squyres (jsquyres) wrote: > Many thanks guys, this thread was most helpful in finding the fix. > > Paul H. nailed 80% of it on the head in the post where he identified the > Makefile.am change. That Makefile.am change was due to three things: > > 1. Fixing a real bug (elsewhere in that commit) > 2. My misunderstanding of how module files work in Fortran > 3. The fact that gfortran, Absoft, and ifort *don't* require you to link > in the .o files generated by modules, but apparently pgfortran *does* > > Blarg. > > That led to the duplicate symbol issue which Paul also encountered when he > tried to fix the original problem, so I fixed that, too (which was a direct > consequence of the first fix). > > Should be fixed in the trunk now; we tested with pgfortran on Craig > Rasmussen's cluster (many thanks, Craig!). > > CMR is https://svn.open-mpi.org/trac/ompi/ticket/4519. > > > > > On Jul 31, 2014, at 7:27 AM, Paul Hargrove wrote: > > > Gilles, > > > > > > Just as you speculate, PGI is creating a _-suffixed reference to the > module name: > > > > $ pgf90 -c test.f90 > > $ nm -u test.o | grep f08 > > U mpi_f08_sizeof_ > > U mpi_f08_sizeof_mpi_sizeof_real_s_4_ > > > > > > > > You suggested the following work-around in a previous email: > > > > $ INST/bin/mpifort ../test.f > ./BLD/ompi/mpi/fortran/use-mpi-f08/.libs/libforce_usempif08_internal_modules_to_be_built.a > > > > That works fine. That doesn't surprise me, because I had already > identified that file as having been removed from libmpi_usempif08.so > between 1.8.1 and 1.8.2rc2. It includes the symbol for the module names > plus trailing '_'. > > > > -Paul > > > > > > On Thu, Jul 31, 2014 at 1:07 AM, Gilles Gouaillardet < > gilles.gouaillar...@iferc.org> wrote: > > Paul, > > > > in .../ompi/mpi/fortran/use-mpi-f08, can you create the following dumb > > test program, > > compile and run nm | grep f08 on the object : > > > > $ cat foo.f90 > > program foo > > use mpi_f08_sizeof > > > > implicit none > > > > real :: x > > integer :: size, ierror > > > > call MPI_Sizeof_real_s_4(x, size, ierror) > > > > stop > > end program > > > > > > with intel compiler : > > $ ifort -c foo.f90 > > $ nm foo.o | grep f08 > > U mpi_f08_sizeof_mp_mpi_sizeof_real_s_4_ > > > > i am wondering whether PGI compiler adds an additional undefined > > reference to mpi_f08_sizeof_ ... > > > > Cheers, > > > > Gilles > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15390.php > > > > > > > > -- > > Paul H. Hargrove phhargr...@lbl.gov > > Future Technologies Group > > Computer and Data Sciences Department Tel: +1-510-495-2352 > > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15391.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15415.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Paul, the ibm test suite from the non public ompi-tests repository has several tests for usempif08. Cheers, Gilles On 2014/08/01 11:04, Paul Hargrove wrote: > Second related issue: > > Can/should examples/hello_usempif08.f90 be extended to use more of the > module such that it would have illustrated the bug found with Tetsuya's > example code? I don't know about MTT, but my scripts for testing a > release candidate includes running "make" in the example subdir. > >
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Nevermind my suggestion to revise examples/hello_usempif08.f90 I've just determined that it is already sufficient to reproduce the problem. (So now I need to see what's wrong in my testing scripts). -Paul On Thu, Jul 31, 2014 at 7:04 PM, Paul Hargrove wrote: > Second related issue: > > Can/should examples/hello_usempif08.f90 be extended to use more of the > module such that it would have illustrated the bug found with Tetsuya's > example code? I don't know about MTT, but my scripts for testing a > release candidate includes running "make" in the example subdir. > > -Paul > > > On Thu, Jul 31, 2014 at 6:17 PM, Jeff Squyres (jsquyres) < > jsquy...@cisco.com> wrote: > >> Many thanks guys, this thread was most helpful in finding the fix. >> >> Paul H. nailed 80% of it on the head in the post where he identified the >> Makefile.am change. That Makefile.am change was due to three things: >> >> 1. Fixing a real bug (elsewhere in that commit) >> 2. My misunderstanding of how module files work in Fortran >> 3. The fact that gfortran, Absoft, and ifort *don't* require you to link >> in the .o files generated by modules, but apparently pgfortran *does* >> >> Blarg. >> >> That led to the duplicate symbol issue which Paul also encountered when >> he tried to fix the original problem, so I fixed that, too (which was a >> direct consequence of the first fix). >> >> Should be fixed in the trunk now; we tested with pgfortran on Craig >> Rasmussen's cluster (many thanks, Craig!). >> >> CMR is https://svn.open-mpi.org/trac/ompi/ticket/4519. >> >> >> >> >> On Jul 31, 2014, at 7:27 AM, Paul Hargrove wrote: >> >> > Gilles, >> > >> > >> > Just as you speculate, PGI is creating a _-suffixed reference to the >> module name: >> > >> > $ pgf90 -c test.f90 >> > $ nm -u test.o | grep f08 >> > U mpi_f08_sizeof_ >> > U mpi_f08_sizeof_mpi_sizeof_real_s_4_ >> > >> > >> > >> > You suggested the following work-around in a previous email: >> > >> > $ INST/bin/mpifort ../test.f >> ./BLD/ompi/mpi/fortran/use-mpi-f08/.libs/libforce_usempif08_internal_modules_to_be_built.a >> > >> > That works fine. That doesn't surprise me, because I had already >> identified that file as having been removed from libmpi_usempif08.so >> between 1.8.1 and 1.8.2rc2. It includes the symbol for the module names >> plus trailing '_'. >> > >> > -Paul >> > >> > >> > On Thu, Jul 31, 2014 at 1:07 AM, Gilles Gouaillardet < >> gilles.gouaillar...@iferc.org> wrote: >> > Paul, >> > >> > in .../ompi/mpi/fortran/use-mpi-f08, can you create the following dumb >> > test program, >> > compile and run nm | grep f08 on the object : >> > >> > $ cat foo.f90 >> > program foo >> > use mpi_f08_sizeof >> > >> > implicit none >> > >> > real :: x >> > integer :: size, ierror >> > >> > call MPI_Sizeof_real_s_4(x, size, ierror) >> > >> > stop >> > end program >> > >> > >> > with intel compiler : >> > $ ifort -c foo.f90 >> > $ nm foo.o | grep f08 >> > U mpi_f08_sizeof_mp_mpi_sizeof_real_s_4_ >> > >> > i am wondering whether PGI compiler adds an additional undefined >> > reference to mpi_f08_sizeof_ ... >> > >> > Cheers, >> > >> > Gilles >> > >> > ___ >> > devel mailing list >> > de...@open-mpi.org >> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> > Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/07/15390.php >> > >> > >> > >> > -- >> > Paul H. Hargrove phhargr...@lbl.gov >> > Future Technologies Group >> > Computer and Data Sciences Department Tel: +1-510-495-2352 >> > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 >> > ___ >> > devel mailing list >> > de...@open-mpi.org >> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> > Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/07/15391.php >> >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/07/15415.php >> > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Second related issue: Can/should examples/hello_usempif08.f90 be extended to use more of the module such that it would have illustrated the bug found with Tetsuya's example code? I don't know about MTT, but my scripts for testing a release candidate includes running "make" in the example subdir. -Paul On Thu, Jul 31, 2014 at 6:17 PM, Jeff Squyres (jsquyres) wrote: > Many thanks guys, this thread was most helpful in finding the fix. > > Paul H. nailed 80% of it on the head in the post where he identified the > Makefile.am change. That Makefile.am change was due to three things: > > 1. Fixing a real bug (elsewhere in that commit) > 2. My misunderstanding of how module files work in Fortran > 3. The fact that gfortran, Absoft, and ifort *don't* require you to link > in the .o files generated by modules, but apparently pgfortran *does* > > Blarg. > > That led to the duplicate symbol issue which Paul also encountered when he > tried to fix the original problem, so I fixed that, too (which was a direct > consequence of the first fix). > > Should be fixed in the trunk now; we tested with pgfortran on Craig > Rasmussen's cluster (many thanks, Craig!). > > CMR is https://svn.open-mpi.org/trac/ompi/ticket/4519. > > > > > On Jul 31, 2014, at 7:27 AM, Paul Hargrove wrote: > > > Gilles, > > > > > > Just as you speculate, PGI is creating a _-suffixed reference to the > module name: > > > > $ pgf90 -c test.f90 > > $ nm -u test.o | grep f08 > > U mpi_f08_sizeof_ > > U mpi_f08_sizeof_mpi_sizeof_real_s_4_ > > > > > > > > You suggested the following work-around in a previous email: > > > > $ INST/bin/mpifort ../test.f > ./BLD/ompi/mpi/fortran/use-mpi-f08/.libs/libforce_usempif08_internal_modules_to_be_built.a > > > > That works fine. That doesn't surprise me, because I had already > identified that file as having been removed from libmpi_usempif08.so > between 1.8.1 and 1.8.2rc2. It includes the symbol for the module names > plus trailing '_'. > > > > -Paul > > > > > > On Thu, Jul 31, 2014 at 1:07 AM, Gilles Gouaillardet < > gilles.gouaillar...@iferc.org> wrote: > > Paul, > > > > in .../ompi/mpi/fortran/use-mpi-f08, can you create the following dumb > > test program, > > compile and run nm | grep f08 on the object : > > > > $ cat foo.f90 > > program foo > > use mpi_f08_sizeof > > > > implicit none > > > > real :: x > > integer :: size, ierror > > > > call MPI_Sizeof_real_s_4(x, size, ierror) > > > > stop > > end program > > > > > > with intel compiler : > > $ ifort -c foo.f90 > > $ nm foo.o | grep f08 > > U mpi_f08_sizeof_mp_mpi_sizeof_real_s_4_ > > > > i am wondering whether PGI compiler adds an additional undefined > > reference to mpi_f08_sizeof_ ... > > > > Cheers, > > > > Gilles > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15390.php > > > > > > > > -- > > Paul H. Hargrove phhargr...@lbl.gov > > Future Technologies Group > > Computer and Data Sciences Department Tel: +1-510-495-2352 > > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15391.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15415.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Related question: If I am understanding PGI's list of fixed-TPRs (bugs) then it looks like one (certainly not the only) difference between 13.x and 14.1 is a fix to a problem with PROCEDURE and zero-argument subroutines. As it happens, the configure probe for PROCEEDURE is a zero-argument subroutine, but the "real" usage in OMPI is *not* zero-argument. This opens the possibility (not certainty) that PROCEDURE may work as required in PGI-13.x, in which case only a "more accurate" configure test would be required to restore F08 support for PGI-13 (present in 1.8.1 and lacking in 1.8.2rc2). So, the most important question first: Does anybody care about PGI-13 (cannot use PGI-14 for some reason other than cost of license)? -Paul On Thu, Jul 31, 2014 at 6:17 PM, Jeff Squyres (jsquyres) wrote: > Many thanks guys, this thread was most helpful in finding the fix. > > Paul H. nailed 80% of it on the head in the post where he identified the > Makefile.am change. That Makefile.am change was due to three things: > > 1. Fixing a real bug (elsewhere in that commit) > 2. My misunderstanding of how module files work in Fortran > 3. The fact that gfortran, Absoft, and ifort *don't* require you to link > in the .o files generated by modules, but apparently pgfortran *does* > > Blarg. > > That led to the duplicate symbol issue which Paul also encountered when he > tried to fix the original problem, so I fixed that, too (which was a direct > consequence of the first fix). > > Should be fixed in the trunk now; we tested with pgfortran on Craig > Rasmussen's cluster (many thanks, Craig!). > > CMR is https://svn.open-mpi.org/trac/ompi/ticket/4519. > > > > > On Jul 31, 2014, at 7:27 AM, Paul Hargrove wrote: > > > Gilles, > > > > > > Just as you speculate, PGI is creating a _-suffixed reference to the > module name: > > > > $ pgf90 -c test.f90 > > $ nm -u test.o | grep f08 > > U mpi_f08_sizeof_ > > U mpi_f08_sizeof_mpi_sizeof_real_s_4_ > > > > > > > > You suggested the following work-around in a previous email: > > > > $ INST/bin/mpifort ../test.f > ./BLD/ompi/mpi/fortran/use-mpi-f08/.libs/libforce_usempif08_internal_modules_to_be_built.a > > > > That works fine. That doesn't surprise me, because I had already > identified that file as having been removed from libmpi_usempif08.so > between 1.8.1 and 1.8.2rc2. It includes the symbol for the module names > plus trailing '_'. > > > > -Paul > > > > > > On Thu, Jul 31, 2014 at 1:07 AM, Gilles Gouaillardet < > gilles.gouaillar...@iferc.org> wrote: > > Paul, > > > > in .../ompi/mpi/fortran/use-mpi-f08, can you create the following dumb > > test program, > > compile and run nm | grep f08 on the object : > > > > $ cat foo.f90 > > program foo > > use mpi_f08_sizeof > > > > implicit none > > > > real :: x > > integer :: size, ierror > > > > call MPI_Sizeof_real_s_4(x, size, ierror) > > > > stop > > end program > > > > > > with intel compiler : > > $ ifort -c foo.f90 > > $ nm foo.o | grep f08 > > U mpi_f08_sizeof_mp_mpi_sizeof_real_s_4_ > > > > i am wondering whether PGI compiler adds an additional undefined > > reference to mpi_f08_sizeof_ ... > > > > Cheers, > > > > Gilles > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15390.php > > > > > > > > -- > > Paul H. Hargrove phhargr...@lbl.gov > > Future Technologies Group > > Computer and Data Sciences Department Tel: +1-510-495-2352 > > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15391.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15415.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Many thanks guys, this thread was most helpful in finding the fix. Paul H. nailed 80% of it on the head in the post where he identified the Makefile.am change. That Makefile.am change was due to three things: 1. Fixing a real bug (elsewhere in that commit) 2. My misunderstanding of how module files work in Fortran 3. The fact that gfortran, Absoft, and ifort *don't* require you to link in the .o files generated by modules, but apparently pgfortran *does* Blarg. That led to the duplicate symbol issue which Paul also encountered when he tried to fix the original problem, so I fixed that, too (which was a direct consequence of the first fix). Should be fixed in the trunk now; we tested with pgfortran on Craig Rasmussen's cluster (many thanks, Craig!). CMR is https://svn.open-mpi.org/trac/ompi/ticket/4519. On Jul 31, 2014, at 7:27 AM, Paul Hargrove wrote: > Gilles, > > > Just as you speculate, PGI is creating a _-suffixed reference to the module > name: > > $ pgf90 -c test.f90 > $ nm -u test.o | grep f08 > U mpi_f08_sizeof_ > U mpi_f08_sizeof_mpi_sizeof_real_s_4_ > > > > You suggested the following work-around in a previous email: > > $ INST/bin/mpifort ../test.f > ./BLD/ompi/mpi/fortran/use-mpi-f08/.libs/libforce_usempif08_internal_modules_to_be_built.a > > That works fine. That doesn't surprise me, because I had already identified > that file as having been removed from libmpi_usempif08.so between 1.8.1 and > 1.8.2rc2. It includes the symbol for the module names plus trailing '_'. > > -Paul > > > On Thu, Jul 31, 2014 at 1:07 AM, Gilles Gouaillardet > wrote: > Paul, > > in .../ompi/mpi/fortran/use-mpi-f08, can you create the following dumb > test program, > compile and run nm | grep f08 on the object : > > $ cat foo.f90 > program foo > use mpi_f08_sizeof > > implicit none > > real :: x > integer :: size, ierror > > call MPI_Sizeof_real_s_4(x, size, ierror) > > stop > end program > > > with intel compiler : > $ ifort -c foo.f90 > $ nm foo.o | grep f08 > U mpi_f08_sizeof_mp_mpi_sizeof_real_s_4_ > > i am wondering whether PGI compiler adds an additional undefined > reference to mpi_f08_sizeof_ ... > > Cheers, > > Gilles > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15390.php > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15391.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Gilles, Just as you speculate, PGI is creating a _-suffixed reference to the module name: $ pgf90 -c test.f90 $ nm -u test.o | grep f08 U mpi_f08_sizeof_ U mpi_f08_sizeof_mpi_sizeof_real_s_4_ You suggested the following work-around in a previous email: $ INST/bin/mpifort ../test.f ./BLD/ompi/mpi/fortran/use-mpi-f08/.libs/libforce_usempif08_internal_modules_to_be_built.a That works fine. That doesn't surprise me, because I had already identified that file as having been removed from libmpi_usempif08.so between 1.8.1 and 1.8.2rc2. It includes the symbol for the module names plus trailing '_'. -Paul On Thu, Jul 31, 2014 at 1:07 AM, Gilles Gouaillardet < gilles.gouaillar...@iferc.org> wrote: > Paul, > > in .../ompi/mpi/fortran/use-mpi-f08, can you create the following dumb > test program, > compile and run nm | grep f08 on the object : > > $ cat foo.f90 > program foo > use mpi_f08_sizeof > > implicit none > > real :: x > integer :: size, ierror > > call MPI_Sizeof_real_s_4(x, size, ierror) > > stop > end program > > > with intel compiler : > $ ifort -c foo.f90 > $ nm foo.o | grep f08 > U mpi_f08_sizeof_mp_mpi_sizeof_real_s_4_ > > i am wondering whether PGI compiler adds an additional undefined > reference to mpi_f08_sizeof_ ... > > Cheers, > > Gilles > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15390.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Paul, in .../ompi/mpi/fortran/use-mpi-f08, can you create the following dumb test program, compile and run nm | grep f08 on the object : $ cat foo.f90 program foo use mpi_f08_sizeof implicit none real :: x integer :: size, ierror call MPI_Sizeof_real_s_4(x, size, ierror) stop end program with intel compiler : $ ifort -c foo.f90 $ nm foo.o | grep f08 U mpi_f08_sizeof_mp_mpi_sizeof_real_s_4_ i am wondering whether PGI compiler adds an additional undefined reference to mpi_f08_sizeof_ ... Cheers, Gilles
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Paul and all, For what it's worth, with openmpi 1.8.2rc2 and the intel fortran compiler version 14.0.3.174 : $ nm libmpi_usempif08.so| grep -i sizeof there is no such undefined symbol (mpi_f08_sizeof_) as a temporary workaround, did you try to force the linker use libforce_usempif08_internal_modules_to_be_built.a /* this library does not get installed (at least with intel compilers), but it is in the compilation tree */ Cheers, Gilles On 2014/07/31 12:53, Paul Hargrove wrote: > In 1.8.2rc2: > $ nm openmpi-1.8.2rc2-linux-x86_64-pgi-14.4/INST/lib/libmpi_usempif08.so | > grep ' mpi_f08_sizeof_' > U mpi_f08_sizeof_
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Hi Paul, Thank you for your investigation. I'm sure it's very close to fix the problem although I myself can't do that. So I must owe you something... Please try Awamori, which is Okinawa's sake and very good in such a hot day. Tetsuya > On Wed, Jul 30, 2014 at 8:53 PM, Paul Hargrove wrote: > [...] > I have a clear answer to *what* is different (below) and am next looking into the why/how now. > It seems that 1.8.1 has included all dependencies into libmpi_usempif08 while 1.8.2rc2 does not. > [...] > > The difference appears to stem from the following difference in ompi/mpi/fortran/use-mpi-f08/Makefile.am: > > 1.8.1: > libmpi_usempif08_la_LIBADD = \ > $(module_sentinel_file) \ > $(OMPI_MPIEXT_USEMPIF08_LIBS) \ > $(top_builddir)/ompi/libmpi.la > > 1.8.2rc2: > libmpi_usempif08_la_LIBADD = \ > $(OMPI_MPIEXT_USEMPIF08_LIBS) \ > $(top_builddir)/ompi/libmpi.la > libmpi_usempif08_la_DEPENDENCIES = $(module_sentinel_file) > > Where in both cases one has: > > module_sentinel_file = \ > libforce_usempif08_internal_modules_to_be_built.la > > which contains all of the symbols which my previous testing found had "disappeared" from libmpi_usempif08.so between 1.8.1 and 1.8.2rc2. > > I don't have recent enough autotools to attempt the change the Makefile.am, but instead restored the removed item from libmpi_usempif08_la_LIBADD directly in Makefile.in. However, rather than fixing > the problem, that resulted in multiple definitions of a bunch of _eq and _ne functions (e.g. mpi_f08_types_ompi_request_op_ne_). So, I am uncertain how to proceed. > > Use svn blame points at a "bulk" CMR of many fortran related changes, including one related to the eq/ne operators. So, I am turning over this investigation to Jeff and/or Ralph to figure out what > actually is required to fix this without loss of whatever benefits were in that CMR. I am still available to test the proposed fixes. Happy hunting... > > Somebody owes me a virtual beer (or nihonshu) ;-) > -Paul > > > -- > > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/develLink to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15387.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Wed, Jul 30, 2014 at 8:53 PM, Paul Hargrove wrote: [...] > I have a clear answer to *what* is different (below) and am next looking > into the why/how now. > It seems that 1.8.1 has included all dependencies into libmpi_usempif08 > while 1.8.2rc2 does not. > [...] The difference appears to stem from the following difference in ompi/mpi/fortran/use-mpi-f08/Makefile.am: 1.8.1: libmpi_usempif08_la_LIBADD = \ $(module_sentinel_file) \ $(OMPI_MPIEXT_USEMPIF08_LIBS) \ $(top_builddir)/ompi/libmpi.la 1.8.2rc2: libmpi_usempif08_la_LIBADD = \ $(OMPI_MPIEXT_USEMPIF08_LIBS) \ $(top_builddir)/ompi/libmpi.la libmpi_usempif08_la_DEPENDENCIES = $(module_sentinel_file) Where in both cases one has: module_sentinel_file = \ libforce_usempif08_internal_modules_to_be_built.la which contains all of the symbols which my previous testing found had "disappeared" from libmpi_usempif08.so between 1.8.1 and 1.8.2rc2. I don't have recent enough autotools to attempt the change the Makefile.am, but instead restored the removed item from libmpi_usempif08_la_LIBADD directly in Makefile.in. However, rather than fixing the problem, that resulted in multiple definitions of a bunch of _eq and _ne functions (e.g. mpi_f08_types_ompi_request_op_ne_). So, I am uncertain how to proceed. Use svn blame points at a "bulk" CMR of many fortran related changes, including one related to the eq/ne operators. So, I am turning over this investigation to Jeff and/or Ralph to figure out what actually is required to fix this without loss of whatever benefits were in that CMR. I am still available to test the proposed fixes. Happy hunting... Somebody owes me a virtual beer (or nihonshu) ;-) -Paul -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Wed, Jul 30, 2014 at 6:20 PM, Paul Hargrove wrote: > > On Wed, Jul 30, 2014 at 6:15 PM, wrote: > [...] > >> Strange thing is that openmpi-1.8 with PGI14.7 works fine. >> What's the difference with openmpi-1.8 and openmpi-1.8.2rc2? >> > [...] > > Tetsuya, > > Now that I can reproduce the problem you have reported, I am building > 1.8.1 with PGI14.4. > Then I may be able to answer the question about what is different. > > -Paul > I have a clear answer to *what* is different (below) and am next looking into the why/how now. It seems that 1.8.1 has included all dependencies into libmpi_usempif08 while 1.8.2rc2 does not. My reflex is to blame libtool, but config/lt* are unchanged between the two versions. I am rebuilding now with "V=1" passed to make so I can see how the libs were built. I'd appreciate guidance if Jeff or anybody else has suggestions as to an alternative approach to investigate this. When completed, I will be (more than) happy to turn over the verbose make output for somebody else to examine. -Paul In 1.8.1: $ nm openmpi-1.8.1-linux-x86_64-pgi-14.4/INST/lib/libmpi_usempif08.so | grep ' mpi_f08_sizeof_' 0004a9a0 T mpi_f08_sizeof_ 0004ad70 T mpi_f08_sizeof_mpi_sizeof_complex_a_16_ 0004acf0 T mpi_f08_sizeof_mpi_sizeof_complex_a_8_ 0004ad30 T mpi_f08_sizeof_mpi_sizeof_complex_s_16_ 0004acb0 T mpi_f08_sizeof_mpi_sizeof_complex_s_8_ 0004a9f0 T mpi_f08_sizeof_mpi_sizeof_integer_a_1_ 0004aa70 T mpi_f08_sizeof_mpi_sizeof_integer_a_2_ 0004aaf0 T mpi_f08_sizeof_mpi_sizeof_integer_a_4_ 0004ab70 T mpi_f08_sizeof_mpi_sizeof_integer_a_8_ 0004a9b0 T mpi_f08_sizeof_mpi_sizeof_integer_s_1_ 0004aa30 T mpi_f08_sizeof_mpi_sizeof_integer_s_2_ 0004aab0 T mpi_f08_sizeof_mpi_sizeof_integer_s_4_ 0004ab30 T mpi_f08_sizeof_mpi_sizeof_integer_s_8_ 0004abf0 T mpi_f08_sizeof_mpi_sizeof_real_a_4_ 0004ac70 T mpi_f08_sizeof_mpi_sizeof_real_a_8_ 0004abb0 T mpi_f08_sizeof_mpi_sizeof_real_s_4_ 0004ac30 T mpi_f08_sizeof_mpi_sizeof_real_s_8_ In 1.8.2rc2: $ nm openmpi-1.8.2rc2-linux-x86_64-pgi-14.4/INST/lib/libmpi_usempif08.so | grep ' mpi_f08_sizeof_' U mpi_f08_sizeof_ Similar differences exist corresponding to the other three modules that give undefined references in Tetsuya's simple test code. -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Wed, Jul 30, 2014 at 6:15 PM, wrote: [...] > Strange thing is that openmpi-1.8 with PGI14.7 works fine. > What's the difference with openmpi-1.8 and openmpi-1.8.2rc2? > [...] Tetsuya, Now that I can reproduce the problem you have reported, I am building 1.8.1 with PGI14.4. Then I may be able to answer the question about what is different. -Paul -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Jeff, I can now reproduce Tetsuya's original problem, using a build of 1.8.2rc2 with PGI 14.4. $ INST/bin/mpifort ../test.f /scratch/scratchdirs/hargrove/pgf90pdegT3bhBmEq.o: In function `.C1_283': test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' /usr/bin/ld: link errors found, deleting executable `a.out' And here is the showme: $ INST/bin/mpifort ../test.f --showme pgf90 ../test.f -I/scratch/scratchdirs/hargrove/OMPI/openmpi-1.8.2rc2-linux-x86_64-pgi-14.4/INST/include -I/scratch/scratchdirs/hargrove/OMPI/openmpi-1.8.2rc2-linux-x86_64-pgi-14.4/INST/lib -Wl,-rpath -Wl,/scratch/scratchdirs/hargrove/OMPI/openmpi-1.8.2rc2-linux-x86_64-pgi-14.4/INST/lib -L/scratch/scratchdirs/hargrove/OMPI/openmpi-1.8.2rc2-linux-x86_64-pgi-14.4/INST/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi It may be relevant to note that the 4 undefined references each name a module. There does not appear to be any definition of these in any library: $ for x in INST/lib/*.{a,so}; do nm $x; done | grep -i mpi_f08_sizeof U mpi_f08_sizeof_ That undefined reference is in libmpi_usepmif90.so along with the other three in the linker error. I am essentially illiterate with respect to any feature added to fortran after F77. So, I am happy to run tests but have no suggestions as to a resolution. -Paul On Wed, Jul 30, 2014 at 5:24 PM, Jeff Squyres (jsquyres) wrote: > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to > `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > Just to go back to the original post here: can you send the results of > > mpifort test.f -o test.ex --showme > > I'd like to see what fortran libraries are being linked in. Here's what I > get when I compile OMPI with the Intel suite: > > - > $ mpifort hello_usempif08.f90 -o hello --showme > ifort hello_usempif08.f90 -o hello -I/home/jsquyres/bogus/include > -I/home/jsquyres/bogus/lib -Wl,-rpath -Wl,/home/jsquyres/bogus/lib > -Wl,--enable-new-dtags -L/home/jsquyres/bogus/lib -lmpi_usempif08 > -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi > > > I note that with the Intel compiler, the Fortran module files are created > in the lib directory (i.e., $prefix/lib), which is -L'ed on the link line. > Does the PGI compiler require something different? Does the PGI 14 > compiler make an additional library for modules that we need to link in? > > We didn't use CONTAINS, and it supposedly works fine with the mpi module > (right, guys?), so I'm not sure would the same scheme wouldn't work for the > mpi_f08 module...? > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15377.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Paul and Jeff, I additionally installed PGI14.4 and check the behavior. Then, I confirmed that both versions create same results. PGI14.7: [mishima@manage work]$ mpif90 test.f -o test.ex --showme pgfortran test.f -o test.ex -I/home/mishima/opt/mpi/openmpi-1.8.2rc2-pgi14.7/include -I/home/mishima/opt/mpi/openmpi-1.8 .2rc2-pgi14.7/lib -Wl,-rpath -Wl,/home/mishima/opt/mpi/openmpi-1.8.2rc2-pgi14.7/lib -L/home/mishima/opt/mpi/openmpi-1.8. 2rc2-pgi14.7/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi [mishima@manage work]$ mpif90 test.f -o test.ex /tmp/pgfortranD-vdxk_lnPL3.o: In function `.C1_283': test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' PGI14.4: [mishima@manage work]$ mpif90 test.f -o test.ex --showme pgfortran test.f -o test.ex -I/home/mishima/opt/mpi/openmpi-1.8.2rc2-pgi14.4/include -I/home/mishima/opt/mpi/openmpi-1.8 .2rc2-pgi14.4/lib -Wl,-rpath -Wl,/home/mishima/opt/mpi/openmpi-1.8.2rc2-pgi14.4/lib -L/home/mishima/opt/mpi/openmpi-1.8. 2rc2-pgi14.4/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi [mishima@manage work]$ mpif90 test.f -o test.ex /tmp/pgfortranm9sdKiZYkrMy.o: In function `.C1_283': test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' As I reported before, mpi_f08*.mod is created in $prefix/lib. [mishima@manage openmpi-1.8.2rc2-pgi14.7]$ ll lib/mpi_f08* -rwxr-xr-x 1 mishima mishima327 Jul 30 12:27 lib/mpi_f08_ext.mod -rwxr-xr-x 1 mishima mishima 11716 Jul 30 12:27 lib/mpi_f08_interfaces_callbacks.mod -rwxr-xr-x 1 mishima mishima 374813 Jul 30 12:27 lib/mpi_f08_interfaces.mod -rwxr-xr-x 1 mishima mishima 715615 Jul 30 12:27 lib/mpi_f08.mod -rwxr-xr-x 1 mishima mishima 14730 Jul 30 12:27 lib/mpi_f08_sizeof.mod -rwxr-xr-x 1 mishima mishima 77141 Jul 30 12:27 lib/mpi_f08_types.mod Strange thing is that openmpi-1.8 with PGI14.7 works fine. What's the difference with openmpi-1.8 and openmpi-1.8.2rc2? [mishima@manage work]$ mpif90 test.f -o test.ex --showme pgfortran test.f -o test.ex -I/home/mishima/opt/mpi/openmpi-1.8-pgi14.7/include -I/home/mishima/opt/mpi/openmpi-1.8-pgi1 4.7/lib -Wl,-rpath -Wl,/home/mishima/opt/mpi/openmpi-1.8-pgi14.7/lib -L/home/mishima/opt/mpi/openmpi-1.8-pgi14.7/lib -lm pi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi [mishima@manage work]$ mpif90 test.f -o test.ex [mishima@manage work]$ Tetsuya > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > Just to go back to the original post here: can you send the results of > > mpifort test.f -o test.ex --showme > > I'd like to see what fortran libraries are being linked in. Here's what I get when I compile OMPI with the Intel suite: > > - > $ mpifort hello_usempif08.f90 -o hello --showme > ifort hello_usempif08.f90 -o hello -I/home/jsquyres/bogus/include -I/home/jsquyres/bogus/lib -Wl,-rpath -Wl,/home/jsquyres/bogus/lib -Wl,--enable-new-dtags -L/home/jsquyres/bogus/lib -lmpi_usempif08 > -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi > > > I note that with the Intel compiler, the Fortran module files are created in the lib directory (i.e., $prefix/lib), which is -L'ed on the link line. Does the PGI compiler require something > different? Does the PGI 14 compiler make an additional library for modules that we need to link in? > > We didn't use CONTAINS, and it supposedly works fine with the mpi module (right, guys?), so I'm not sure would the same scheme wouldn't work for the mpi_f08 module...? > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15377.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > [mishima@manage work]$ mpif90 test.f -o test.ex > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' Just to go back to the original post here: can you send the results of mpifort test.f -o test.ex --showme I'd like to see what fortran libraries are being linked in. Here's what I get when I compile OMPI with the Intel suite: - $ mpifort hello_usempif08.f90 -o hello --showme ifort hello_usempif08.f90 -o hello -I/home/jsquyres/bogus/include -I/home/jsquyres/bogus/lib -Wl,-rpath -Wl,/home/jsquyres/bogus/lib -Wl,--enable-new-dtags -L/home/jsquyres/bogus/lib -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi I note that with the Intel compiler, the Fortran module files are created in the lib directory (i.e., $prefix/lib), which is -L'ed on the link line. Does the PGI compiler require something different? Does the PGI 14 compiler make an additional library for modules that we need to link in? We didn't use CONTAINS, and it supposedly works fine with the mpi module (right, guys?), so I'm not sure would the same scheme wouldn't work for the mpi_f08 module...? -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Tetsuya, I found that the behavior of pgf90 changed somewhere between versions 13.6 and 14.1. My previous reports were mostly based on my testing of 13.6. So, I have probably been seeing an issue entirely different than yours. I am testing 14.4 now and hope to be able to reproduce the problem you reported. -Paul On Wed, Jul 30, 2014 at 12:14 AM, wrote: > Hi Paul, thank you for your comment. > > I don't think my mpi_f08.mod is older one, because the time stamp is > equal to the time when I rebuilt them today. > > [mishima@manage openmpi-1.8.2rc2-pgi14.7]$ ll lib/mpi* > -rwxr-xr-x 1 mishima mishima315 Jul 30 12:27 lib/mpi_ext.mod > -rwxr-xr-x 1 mishima mishima327 Jul 30 12:27 lib/mpi_f08_ext.mod > -rwxr-xr-x 1 mishima mishima 11716 Jul 30 12:27 > lib/mpi_f08_interfaces_callbacks.mod > -rwxr-xr-x 1 mishima mishima 374813 Jul 30 12:27 lib/mpi_f08_interfaces.mod > -rwxr-xr-x 1 mishima mishima 715615 Jul 30 12:27 lib/mpi_f08.mod > -rwxr-xr-x 1 mishima mishima 14730 Jul 30 12:27 lib/mpi_f08_sizeof.mod > -rwxr-xr-x 1 mishima mishima 77141 Jul 30 12:27 lib/mpi_f08_types.mod > -rwxr-xr-x 1 mishima mishima 878339 Jul 30 12:27 lib/mpi.mod > > Regards, > Tetsuya > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Jeff, I am not "screaming" for a return of support for the PGI compilers. I will also note that "use mpi" works fine; only the F2008 support is lacking. Rather than complain I am offering to help test any solution that might be offered. I will also note that Nathan and Howard both have accounts at NERSC that allow then access to Hopper, the system I have used for testing (in addition to whatever LANL has). NEW INFO: While the 13.6 version of pgf90 failed the PROCEEDURE test, I find that 14.1 and 14.4 both *pass* (at least when attempted manually) So, the issues I've had are DIFFERENT from the originally reported issue. That is consistent with the mpi_f08.mod file with the same timestamp as the others. So, I am investigating the ORIGINAL problem once again with 14.4. -Paul On Wed, Jul 30, 2014 at 3:30 PM, Jeff Squyres (jsquyres) wrote: > On Jul 30, 2014, at 12:36 AM, Paul Hargrove wrote: > > > Unfortunately, this (and > https://svn.open-mpi.org/trac/ompi/changeset/31588 that followed) > represent a REGRESSION in that between 1.8.1 and 1.8.2rc2 Open MPI has lost > support for F08 with the PGI compilers. > > Yes, and the answer is for PGI to support more of the F2003 standard. > Then there might be a hope for supporting the MPI F08 bindings. :-) > > Glib answer aside... > > The fact of the matter is that Fortran compilers are a nightmare of what > specific Fortran features they support. As part of r31587 and r31588, > there was a simplification made to the (already quite complex) F08 bindings > in OMPI to only support Fortran compilers that support PROCEDURE. > > I don't think I realized that I would be cutting off PGI support with this > change. > > That being said, unless someone really screams, I would greatly prefer not > to put back in the "support compilers who do not support PROCEDURE" code > because a) it creates the problem that we solved by taking that stuff out, > b) it adds more complexity to the F08 bindings, and c) we'll have to solve > the original problem a different way... and I don't know how to do that. > :-\ > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15374.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Jul 30, 2014, at 12:36 AM, Paul Hargrove wrote: > Unfortunately, this (and https://svn.open-mpi.org/trac/ompi/changeset/31588 > that followed) represent a REGRESSION in that between 1.8.1 and 1.8.2rc2 Open > MPI has lost support for F08 with the PGI compilers. Yes, and the answer is for PGI to support more of the F2003 standard. Then there might be a hope for supporting the MPI F08 bindings. :-) Glib answer aside... The fact of the matter is that Fortran compilers are a nightmare of what specific Fortran features they support. As part of r31587 and r31588, there was a simplification made to the (already quite complex) F08 bindings in OMPI to only support Fortran compilers that support PROCEDURE. I don't think I realized that I would be cutting off PGI support with this change. That being said, unless someone really screams, I would greatly prefer not to put back in the "support compilers who do not support PROCEDURE" code because a) it creates the problem that we solved by taking that stuff out, b) it adds more complexity to the F08 bindings, and c) we'll have to solve the original problem a different way... and I don't know how to do that. :-\ -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Ummthis really broke things now. I can't build the fortran bindings at all, and I don't have a PGI compiler. I also didn't specify a level of Fortran support, but just had --enable-mpi-fortran Maybe we need to revert this commit until we figure out a better solution? On Jul 30, 2014, at 12:16 AM, Gilles Gouaillardet wrote: > Paul, > > this is a fair point. > > i commited r32354 in order to abort configure in this case > > Cheers, > > Gilles > > On 2014/07/30 15:11, Paul Hargrove wrote: >> On a related topic: >> >> I configured with an explicit --enable-mpi-fortran=usempif08. >> Then configure found PROCEDURE was missing/broken. >> The result is that the build continued, but without the requested f08 >> support. >> >> If the user has explicitly enabled a given level of Fortran support, but it >> cannot be provided, shouldn't this be a configure-time error? >> >> -Paul >> > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15352.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Paul, this is a fair point. i commited r32354 in order to abort configure in this case Cheers, Gilles On 2014/07/30 15:11, Paul Hargrove wrote: > On a related topic: > > I configured with an explicit --enable-mpi-fortran=usempif08. > Then configure found PROCEDURE was missing/broken. > The result is that the build continued, but without the requested f08 > support. > > If the user has explicitly enabled a given level of Fortran support, but it > cannot be provided, shouldn't this be a configure-time error? > > -Paul >
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Hi Paul, thank you for your comment. I don't think my mpi_f08.mod is older one, because the time stamp is equal to the time when I rebuilt them today. [mishima@manage openmpi-1.8.2rc2-pgi14.7]$ ll lib/mpi* -rwxr-xr-x 1 mishima mishima315 Jul 30 12:27 lib/mpi_ext.mod -rwxr-xr-x 1 mishima mishima327 Jul 30 12:27 lib/mpi_f08_ext.mod -rwxr-xr-x 1 mishima mishima 11716 Jul 30 12:27 lib/mpi_f08_interfaces_callbacks.mod -rwxr-xr-x 1 mishima mishima 374813 Jul 30 12:27 lib/mpi_f08_interfaces.mod -rwxr-xr-x 1 mishima mishima 715615 Jul 30 12:27 lib/mpi_f08.mod -rwxr-xr-x 1 mishima mishima 14730 Jul 30 12:27 lib/mpi_f08_sizeof.mod -rwxr-xr-x 1 mishima mishima 77141 Jul 30 12:27 lib/mpi_f08_types.mod -rwxr-xr-x 1 mishima mishima 878339 Jul 30 12:27 lib/mpi.mod Regards, Tetsuya > On Tue, Jul 29, 2014 at 6:38 PM, Paul Hargrove wrote: > > On Tue, Jul 29, 2014 at 6:33 PM, Paul Hargrove wrote: > I am trying again with an explicit --enable-mpi-fortran=usempi at configure time to see what happens. > > Of course that should have said --enable-mpi-fortran=usempif08 > > I've switched to using PG13.6 for my testing. > I find that even when I pass that flag I see that use_mpi_f08 is NOT enabled: > > checking Fortran compiler ignore TKR syntax... not cached; checking variants > checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no > checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no > checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no > checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes > checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ IGNORE_TKR > checking if Fortran compiler supports ISO_C_BINDING... yes > checking if building Fortran 'use mpi' bindings... yes > checking if Fortran compiler supports SUBROUTINE BIND(C)... yes > checking if Fortran compiler supports TYPE, BIND(C)... yes > checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... yes > checking if Fortran compiler supports PROCEDURE... no > checking if building Fortran 'use mpi_f08' bindings... no > > Contrast that to openmpi-1.8.1 and the same compiler: > > checking Fortran compiler ignore TKR syntax... not cached; checking variants > checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no > checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no > checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no > checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes > checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ IGNORE_TKR > checking if building Fortran 'use mpi' bindings... yes > checking if Fortran compiler supports ISO_C_BINDING... yes > checking if Fortran compiler supports SUBROUTINE BIND(C)... yes > checking if Fortran compiler supports TYPE, BIND(C)... yes > checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... yes > checking if Fortran compiler supports optional arguments... yes > checking if Fortran compiler supports PRIVATE... yes > checking if Fortran compiler supports PROTECTED... yes > checking if Fortran compiler supports ABSTRACT... yes > checking if Fortran compiler supports ASYNCHRONOUS... yes > checking if Fortran compiler supports PROCEDURE... no > checking size of Fortran type(test_mpi_handle)... 4 > checking Fortran compiler F08 assumed rank syntax... not cached; checking > checking for Fortran compiler support of TYPE(*), DIMENSION(..)... no > checking Fortran compiler F08 assumed rank syntax... no > checking which mpi_f08 implementation to build... "good" compiler, no array subsections > checking if building Fortran 'use mpi_f08' bindings... yes > > So, somewhere between 1.8.1 and 1.8.2rc2 something has happened in the configure logic to disqualify the pgf90 compiler. > > I also surprised to see 1.8.2rc2 performing *fewer* tests of FC then 1.8.1 did (unless they moved elsewhere?). > > In the end I cannot reproduce the originally reported problem for the simple reason that I instead see: > > {hargrove@hopper04 openmpi-1.8.2rc2-linux-x86_64-pgi-14.4}$ ./INST/bin/mpif90 ../test.f > PGF90-F-0004-Unable to open MODULE file mpi_f08.mod (../test.f: 2) > PGF90/x86-64 Linux 14.4-0: compilation aborted > > > Tetsuya Mishima, > > Is it possible that your installation of 1.8.2rc2 was to the same prefix as an older build? > It that is the case, you may have the mpi_f08.mod from the older build even though no f08 support is in the new build. > > > -Paul > > > -- > > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/develLink to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15342.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
This is another one. (See attached file: openmpi-1.8.2rc2-pgi14.7.tar.gz) Tetusya > Tetsuya -- > > I am unable to test with the PGI compiler -- I don't have a license. I was hoping that LANL would be able to test today, but I don't think they got to it. > > Can you send more details? > > E.g., can you send the all the stuff listed on http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 compiler? > > I'm *guessing* that we've done something new in the changes since 1.8 that PGI doesn't support, and we need to disable that something (hopefully while not needing to disable the entire mpi_f08 > bindings...). > > > > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > > > Hi folks, > > > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > > program. Then, it causes linking error: > > > > [mishima@manage work]$ cat test.f > > program hello_world > > use mpi_f08 > > implicit none > > > > type(MPI_Comm) :: comm > > integer :: myid, npes, ierror > > integer :: name_length > > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > > > call mpi_init(ierror) > > comm = MPI_COMM_WORLD > > call MPI_Comm_rank(comm, myid, ierror) > > call MPI_Comm_size(comm, npes, ierror) > > call MPI_Get_processor_name(processor_name, name_length, ierror) > > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > > +"Process", myid, "of", npes, "is on", trim(processor_name) > > call MPI_Finalize(ierror) > > > > end program hello_world > > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > > > So, I did some more tests with previous version of PGI and > > openmpi-1.8. The results are summarized as follows: > > > > PGI13.10 PGI14.7 > > openmpi-1.8 OK OK > > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > > > Regards, > > Tetsuya Mishima > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15303.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15335.php openmpi-1.8.2rc2-pgi14.7.tar.gz Description: Binary data
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Hi Jeff, Sorry for poor information and late reply. Today, I attended a very very long meeting ... Anyway, I attached compile-output and configure-log. (due to file size limitation, I send them in twice) I hope you could find the problem. (See attached file: openmpi-1.8-pgi14.7.tar.gz) Regards, Tetsuya > Tetsuya -- > > I am unable to test with the PGI compiler -- I don't have a license. I was hoping that LANL would be able to test today, but I don't think they got to it. > > Can you send more details? > > E.g., can you send the all the stuff listed on http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 compiler? > > I'm *guessing* that we've done something new in the changes since 1.8 that PGI doesn't support, and we need to disable that something (hopefully while not needing to disable the entire mpi_f08 > bindings...). > > > > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > > > Hi folks, > > > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > > program. Then, it causes linking error: > > > > [mishima@manage work]$ cat test.f > > program hello_world > > use mpi_f08 > > implicit none > > > > type(MPI_Comm) :: comm > > integer :: myid, npes, ierror > > integer :: name_length > > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > > > call mpi_init(ierror) > > comm = MPI_COMM_WORLD > > call MPI_Comm_rank(comm, myid, ierror) > > call MPI_Comm_size(comm, npes, ierror) > > call MPI_Get_processor_name(processor_name, name_length, ierror) > > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > > +"Process", myid, "of", npes, "is on", trim(processor_name) > > call MPI_Finalize(ierror) > > > > end program hello_world > > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > > > So, I did some more tests with previous version of PGI and > > openmpi-1.8. The results are summarized as follows: > > > > PGI13.10 PGI14.7 > > openmpi-1.8 OK OK > > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > > > Regards, > > Tetsuya Mishima > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15303.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15335.php openmpi-1.8-pgi14.7.tar.gz Description: Binary data
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On a related topic: I configured with an explicit --enable-mpi-fortran=usempif08. Then configure found PROCEDURE was missing/broken. The result is that the build continued, but without the requested f08 support. If the user has explicitly enabled a given level of Fortran support, but it cannot be provided, shouldn't this be a configure-time error? -Paul On Tue, Jul 29, 2014 at 9:41 PM, Gilles Gouaillardet < gilles.gouaillar...@iferc.org> wrote: > Paul, > > i am sorry i missed that. > > and you are right, 1.8.1 and 1.8 from svn differs : > > from svn (config/ompi_setup_mpi_fortran.m4) > # Per https://svn.open-mpi.org/trac/ompi/ticket/4590, if the > # Fortran compiler doesn't support PROCEDURE in the way we > # want/need, disable the mpi_f08 module. > OMPI_FORTRAN_HAVE_PROCEDURE=0 > AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \ >$OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1], > [ # Does the compiler support "procedure" >OMPI_FORTRAN_CHECK_PROCEDURE( >[OMPI_FORTRAN_HAVE_PROCEDURE=1], >[OMPI_FORTRAN_HAVE_PROCEDURE=0 > OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])]) > > 1.8.1 does not disqualify f08 bindings if PROCEDURE is not supported. > /* for the sake of completion, in some cases, 1.8.1 *might* disqualify f08 > bindings if PROCEDURE *is* supported : > # Per https://svn.open-mpi.org/trac/ompi/ticket/4157, temporarily > # disqualify the fortran compiler if it exhibits the behavior > # described in that ticket. Short version: OMPI does something > # non-Fortran that we don't have time to fix 1.7.4. So we just > # disqualify Fortran compilers who actually enforce this issue, > # and we'll fix OMPI to be Fortran-compliant after 1.7.4 > AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 && \ >test $OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1 && \ >test $OMPI_FORTRAN_HAVE_PROCEDURE -eq 1 && \ >test $OMPI_FORTRAN_HAVE_ABSTRACT -eq 1], > [ # Check for ticket 4157 >OMPI_FORTRAN_CHECK_TICKET_4157( >[], >[ # If we don't have this, don't build the mpi_f08 module > OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])]) > > > from the sources and #4590, f08 binding is intentionally disabled since > PGI compilers does not support PROCEDURE. > i agree this is really bad for PGI users :-( > > Jeff, can you comment on that ? > > Cheers, > > Gilles > > On 2014/07/30 13:25, Paul Hargrove wrote: > > Giles, > > If you look more carefully at the output I provided you will see that 1.8.1 > *does* test for PROCEDURE support and finds it lacking. BOTH outputs > include: > checking if Fortran compiler supports PROCEDURE... no > > However in the 1.8.1 case that is apparently not sufficient to disqualify > building the f08 module. > > The test does fail in both 1.8.1 and 1.8.2rc2. > Here is the related portion of config.log from one of them: > > configure:57708: checking if Fortran compiler supports PROCEDURE > configure:57735: pgf90 -c -g conftest.f90 >&5 PGF90-S-0155-Illegal > procedure interface - mpi_user_function (conftest.f90: 12) > PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: > 12) 0 inform, 0 warnings, 2 severes, 0 fatal for test_proc configure:57735: > $? = 2 configure: failed program was: | MODULE proc_mod | INTERFACE | > SUBROUTINE MPI_User_function | END SUBROUTINE | END INTERFACE | END MODULE > proc_mod | | PROGRAM test_proc | INTERFACE | SUBROUTINE binky(user_fn) | > USE proc_mod | PROCEDURE(MPI_User_function) :: user_fn | END SUBROUTINE | > END INTERFACE | END PROGRAM configure:57751: result: no > > Other than the line numbers the 1.8.1 and 1.8.2rc2 output are identical in > this respect. > > The test also fails run manually: > > {hargrove@hopper04 OMPI}$ pgf90 -c -g conftest.f90 PGF90-S-0155-Illegal > procedure interface - mpi_user_function (conftest.f90: 12) > PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: > 12) 0 inform, 0 warnings, 2 severes, 0 fatal for test_proc > {hargrove@hopper04 OMPI}$ pgf90 -V pgf90 13.10-0 64-bit target on x86-64 > Linux -tp shanghai The Portland Group - PGI Compilers and Tools Copyright > (c) 2013, NVIDIA CORPORATION. All rights reserved. > > -Paul > > On Tue, Jul 29, 2014 at 9:09 PM, Gilles Gouaillardet > wrote: > > > Paul, > > from the logs, the only difference i see is about Fortran PROCEDURE. > > openpmi 1.8 (svn checkout) does not build the usempif08 bindings if > PROCEDURE is not supported. > > from the logs, openmpi 1.8.1 does not check whether PROCEDURE is supported > or not > > here is the sample program to check PROCEDURE (from > config/ompi_fortran_check_procedure.m4) > > MODULE proc_mod > INTERFACE > SUBROUTINE MPI_User_function > END SUBROUTINE > END INTERFACE > END MODULE proc_mod > > PROGRAM test_proc > INTERFACE > SUBROUTINE binky(user_fn) > USE proc_mod > PROCED
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Paul, i am sorry i missed that. and you are right, 1.8.1 and 1.8 from svn differs : from svn (config/ompi_setup_mpi_fortran.m4) # Per https://svn.open-mpi.org/trac/ompi/ticket/4590, if the # Fortran compiler doesn't support PROCEDURE in the way we # want/need, disable the mpi_f08 module. OMPI_FORTRAN_HAVE_PROCEDURE=0 AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 -a \ $OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1], [ # Does the compiler support "procedure" OMPI_FORTRAN_CHECK_PROCEDURE( [OMPI_FORTRAN_HAVE_PROCEDURE=1], [OMPI_FORTRAN_HAVE_PROCEDURE=0 OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])]) 1.8.1 does not disqualify f08 bindings if PROCEDURE is not supported. /* for the sake of completion, in some cases, 1.8.1 *might* disqualify f08 bindings if PROCEDURE *is* supported : # Per https://svn.open-mpi.org/trac/ompi/ticket/4157, temporarily # disqualify the fortran compiler if it exhibits the behavior # described in that ticket. Short version: OMPI does something # non-Fortran that we don't have time to fix 1.7.4. So we just # disqualify Fortran compilers who actually enforce this issue, # and we'll fix OMPI to be Fortran-compliant after 1.7.4 AS_IF([test $OMPI_WANT_FORTRAN_USEMPIF08_BINDINGS -eq 1 && \ test $OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS -eq 1 && \ test $OMPI_FORTRAN_HAVE_PROCEDURE -eq 1 && \ test $OMPI_FORTRAN_HAVE_ABSTRACT -eq 1], [ # Check for ticket 4157 OMPI_FORTRAN_CHECK_TICKET_4157( [], [ # If we don't have this, don't build the mpi_f08 module OMPI_BUILD_FORTRAN_USEMPIF08_BINDINGS=0])]) from the sources and #4590, f08 binding is intentionally disabled since PGI compilers does not support PROCEDURE. i agree this is really bad for PGI users :-( Jeff, can you comment on that ? Cheers, Gilles On 2014/07/30 13:25, Paul Hargrove wrote: > Giles, > > If you look more carefully at the output I provided you will see that 1.8.1 > *does* test for PROCEDURE support and finds it lacking. BOTH outputs > include: > checking if Fortran compiler supports PROCEDURE... no > > However in the 1.8.1 case that is apparently not sufficient to disqualify > building the f08 module. > > The test does fail in both 1.8.1 and 1.8.2rc2. > Here is the related portion of config.log from one of them: > > configure:57708: checking if Fortran compiler supports PROCEDURE > configure:57735: pgf90 -c -g conftest.f90 >&5 PGF90-S-0155-Illegal > procedure interface - mpi_user_function (conftest.f90: 12) > PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: > 12) 0 inform, 0 warnings, 2 severes, 0 fatal for test_proc configure:57735: > $? = 2 configure: failed program was: | MODULE proc_mod | INTERFACE | > SUBROUTINE MPI_User_function | END SUBROUTINE | END INTERFACE | END MODULE > proc_mod | | PROGRAM test_proc | INTERFACE | SUBROUTINE binky(user_fn) | > USE proc_mod | PROCEDURE(MPI_User_function) :: user_fn | END SUBROUTINE | > END INTERFACE | END PROGRAM configure:57751: result: no > > Other than the line numbers the 1.8.1 and 1.8.2rc2 output are identical in > this respect. > > The test also fails run manually: > > {hargrove@hopper04 OMPI}$ pgf90 -c -g conftest.f90 PGF90-S-0155-Illegal > procedure interface - mpi_user_function (conftest.f90: 12) > PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: > 12) 0 inform, 0 warnings, 2 severes, 0 fatal for test_proc > {hargrove@hopper04 OMPI}$ pgf90 -V pgf90 13.10-0 64-bit target on x86-64 > Linux -tp shanghai The Portland Group - PGI Compilers and Tools Copyright > (c) 2013, NVIDIA CORPORATION. All rights reserved. > > -Paul > > On Tue, Jul 29, 2014 at 9:09 PM, Gilles Gouaillardet < > gilles.gouaillar...@iferc.org> wrote: > >> Paul, >> >> from the logs, the only difference i see is about Fortran PROCEDURE. >> >> openpmi 1.8 (svn checkout) does not build the usempif08 bindings if >> PROCEDURE is not supported. >> >> from the logs, openmpi 1.8.1 does not check whether PROCEDURE is supported >> or not >> >> here is the sample program to check PROCEDURE (from >> config/ompi_fortran_check_procedure.m4) >> >> MODULE proc_mod >> INTERFACE >> SUBROUTINE MPI_User_function >> END SUBROUTINE >> END INTERFACE >> END MODULE proc_mod >> >> PROGRAM test_proc >> INTERFACE >> SUBROUTINE binky(user_fn) >> USE proc_mod >> PROCEDURE(MPI_User_function) :: user_fn >> END SUBROUTINE >> END INTERFACE >> END PROGRAM >> >> i do not have a PGI license, could you please confirm the PGI compiler >> fails compiling the test above ? >> >> Cheers, >> >> Gilles >> >> On 2014/07/30 12:54, Paul Hargrove wrote: >> >> On Tue, Jul 29, 2014 at 6:38 PM, Paul Hargrove >> wrote: >> >> >> On Tue, Jul 29, 2014 at 6:33 PM, Paul Hargrove >> wrote: >> >> >> I am trying again with an explicit --enable-mpi-fortran=usempi at >> configur
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Tue, Jul 29, 2014 at 9:09 PM, Gilles Gouaillardet < gilles.gouaillar...@iferc.org> wrote: > openpmi 1.8 (svn checkout) does not build the usempif08 bindings if > PROCEDURE is not supported. > I have just verified that this requirement for PROCEDURE support is a change in behavior between 1.8.1 and 1.8.2rc2. This was an intentional change as noted in ompi_setup_mpi_fortran.m4: # Per https://svn.open-mpi.org/trac/ompi/ticket/4590, if the # Fortran compiler doesn't support PROCEDURE in the way we # want/need, disable the mpi_f08 module. Unfortunately, this (and https://svn.open-mpi.org/trac/ompi/changeset/31588 that followed) represent a REGRESSION in that between 1.8.1 and 1.8.2rc2 Open MPI has lost support for F08 with the PGI compilers. -Paul -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Giles, If you look more carefully at the output I provided you will see that 1.8.1 *does* test for PROCEDURE support and finds it lacking. BOTH outputs include: checking if Fortran compiler supports PROCEDURE... no However in the 1.8.1 case that is apparently not sufficient to disqualify building the f08 module. The test does fail in both 1.8.1 and 1.8.2rc2. Here is the related portion of config.log from one of them: configure:57708: checking if Fortran compiler supports PROCEDURE configure:57735: pgf90 -c -g conftest.f90 >&5 PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: 12) PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: 12) 0 inform, 0 warnings, 2 severes, 0 fatal for test_proc configure:57735: $? = 2 configure: failed program was: | MODULE proc_mod | INTERFACE | SUBROUTINE MPI_User_function | END SUBROUTINE | END INTERFACE | END MODULE proc_mod | | PROGRAM test_proc | INTERFACE | SUBROUTINE binky(user_fn) | USE proc_mod | PROCEDURE(MPI_User_function) :: user_fn | END SUBROUTINE | END INTERFACE | END PROGRAM configure:57751: result: no Other than the line numbers the 1.8.1 and 1.8.2rc2 output are identical in this respect. The test also fails run manually: {hargrove@hopper04 OMPI}$ pgf90 -c -g conftest.f90 PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: 12) PGF90-S-0155-Illegal procedure interface - mpi_user_function (conftest.f90: 12) 0 inform, 0 warnings, 2 severes, 0 fatal for test_proc {hargrove@hopper04 OMPI}$ pgf90 -V pgf90 13.10-0 64-bit target on x86-64 Linux -tp shanghai The Portland Group - PGI Compilers and Tools Copyright (c) 2013, NVIDIA CORPORATION. All rights reserved. -Paul On Tue, Jul 29, 2014 at 9:09 PM, Gilles Gouaillardet < gilles.gouaillar...@iferc.org> wrote: > Paul, > > from the logs, the only difference i see is about Fortran PROCEDURE. > > openpmi 1.8 (svn checkout) does not build the usempif08 bindings if > PROCEDURE is not supported. > > from the logs, openmpi 1.8.1 does not check whether PROCEDURE is supported > or not > > here is the sample program to check PROCEDURE (from > config/ompi_fortran_check_procedure.m4) > > MODULE proc_mod > INTERFACE > SUBROUTINE MPI_User_function > END SUBROUTINE > END INTERFACE > END MODULE proc_mod > > PROGRAM test_proc > INTERFACE > SUBROUTINE binky(user_fn) > USE proc_mod > PROCEDURE(MPI_User_function) :: user_fn > END SUBROUTINE > END INTERFACE > END PROGRAM > > i do not have a PGI license, could you please confirm the PGI compiler > fails compiling the test above ? > > Cheers, > > Gilles > > On 2014/07/30 12:54, Paul Hargrove wrote: > > On Tue, Jul 29, 2014 at 6:38 PM, Paul Hargrove > wrote: > > > On Tue, Jul 29, 2014 at 6:33 PM, Paul Hargrove > wrote: > > > I am trying again with an explicit --enable-mpi-fortran=usempi at > configure time to see what happens. > > > Of course that should have said --enable-mpi-fortran=usempif08 > > > I've switched to using PG13.6 for my testing. > I find that even when I pass that flag I see that use_mpi_f08 is NOT > enabled: > > checking Fortran compiler ignore TKR syntax... not cached; checking variants > checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no > checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no > checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no > checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes > checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ > IGNORE_TKR > checking if Fortran compiler supports ISO_C_BINDING... yes > checking if building Fortran 'use mpi' bindings... yes > checking if Fortran compiler supports SUBROUTINE BIND(C)... yes > checking if Fortran compiler supports TYPE, BIND(C)... yes > checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... > yes > checking if Fortran compiler supports PROCEDURE... no > *checking if building Fortran 'use mpi_f08' bindings... no* > > Contrast that to openmpi-1.8.1 and the same compiler: > > checking Fortran compiler ignore TKR syntax... not cached; checking variants > checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no > checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no > checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no > checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes > checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ > IGNORE_TKR > checking if building Fortran 'use mpi' bindings... yes > checking if Fortran compiler supports ISO_C_BINDING... yes > checking if Fortran compiler supports SUBROUTINE BIND(C)... yes > checking if Fortran compiler supports TYPE, BIND(C)... yes > checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... > yes > checking if Fortran compiler supports optional arguments... yes > checking if Fortran compiler supports PRIVATE... yes > checking if Fortran compiler supports PROT
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Paul, from the logs, the only difference i see is about Fortran PROCEDURE. openpmi 1.8 (svn checkout) does not build the usempif08 bindings if PROCEDURE is not supported. from the logs, openmpi 1.8.1 does not check whether PROCEDURE is supported or not here is the sample program to check PROCEDURE (from config/ompi_fortran_check_procedure.m4) MODULE proc_mod INTERFACE SUBROUTINE MPI_User_function END SUBROUTINE END INTERFACE END MODULE proc_mod PROGRAM test_proc INTERFACE SUBROUTINE binky(user_fn) USE proc_mod PROCEDURE(MPI_User_function) :: user_fn END SUBROUTINE END INTERFACE END PROGRAM i do not have a PGI license, could you please confirm the PGI compiler fails compiling the test above ? Cheers, Gilles On 2014/07/30 12:54, Paul Hargrove wrote: > On Tue, Jul 29, 2014 at 6:38 PM, Paul Hargrove wrote: > >> On Tue, Jul 29, 2014 at 6:33 PM, Paul Hargrove wrote: >> >>> I am trying again with an explicit --enable-mpi-fortran=usempi at >>> configure time to see what happens. >>> >> Of course that should have said --enable-mpi-fortran=usempif08 >> > I've switched to using PG13.6 for my testing. > I find that even when I pass that flag I see that use_mpi_f08 is NOT > enabled: > > checking Fortran compiler ignore TKR syntax... not cached; checking variants > checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no > checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no > checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no > checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes > checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ > IGNORE_TKR > checking if Fortran compiler supports ISO_C_BINDING... yes > checking if building Fortran 'use mpi' bindings... yes > checking if Fortran compiler supports SUBROUTINE BIND(C)... yes > checking if Fortran compiler supports TYPE, BIND(C)... yes > checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... > yes > checking if Fortran compiler supports PROCEDURE... no > *checking if building Fortran 'use mpi_f08' bindings... no* > > Contrast that to openmpi-1.8.1 and the same compiler: > > checking Fortran compiler ignore TKR syntax... not cached; checking variants > checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no > checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no > checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no > checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes > checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ > IGNORE_TKR > checking if building Fortran 'use mpi' bindings... yes > checking if Fortran compiler supports ISO_C_BINDING... yes > checking if Fortran compiler supports SUBROUTINE BIND(C)... yes > checking if Fortran compiler supports TYPE, BIND(C)... yes > checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... > yes > checking if Fortran compiler supports optional arguments... yes > checking if Fortran compiler supports PRIVATE... yes > checking if Fortran compiler supports PROTECTED... yes > checking if Fortran compiler supports ABSTRACT... yes > checking if Fortran compiler supports ASYNCHRONOUS... yes > checking if Fortran compiler supports PROCEDURE... no > checking size of Fortran type(test_mpi_handle)... 4 > checking Fortran compiler F08 assumed rank syntax... not cached; checking > checking for Fortran compiler support of TYPE(*), DIMENSION(..)... no > checking Fortran compiler F08 assumed rank syntax... no > checking which mpi_f08 implementation to build... "good" compiler, no array > subsections > *checking if building Fortran 'use mpi_f08' bindings... yes* > > So, somewhere between 1.8.1 and 1.8.2rc2 something has happened in the > configure logic to disqualify the pgf90 compiler. > > I also surprised to see 1.8.2rc2 performing *fewer* tests of FC then 1.8.1 > did (unless they moved elsewhere?). > > In the end I cannot reproduce the originally reported problem for the > simple reason that I instead see: > > {hargrove@hopper04 openmpi-1.8.2rc2-linux-x86_64-pgi-14.4}$ > ./INST/bin/mpif90 ../test.f > PGF90-F-0004-Unable to open MODULE file mpi_f08.mod (../test.f: 2) > PGF90/x86-64 Linux 14.4-0: compilation aborted > > > Tetsuya Mishima, > > Is it possible that your installation of 1.8.2rc2 was to the same prefix as > an older build? > It that is the case, you may have the mpi_f08.mod from the older build even > though no f08 support is in the new build. > > > -Paul > > > > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15342.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Sorry for poor information. I attached compile-output and configure-log. I hope you could find the problem. (See attached file: openmpi-pgi14.7.tar.gz) Regards, Tetsuya Mishima > Tetsuya -- > > I am unable to test with the PGI compiler -- I don't have a license. I was hoping that LANL would be able to test today, but I don't think they got to it. > > Can you send more details? > > E.g., can you send the all the stuff listed on http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 compiler? > > I'm *guessing* that we've done something new in the changes since 1.8 that PGI doesn't support, and we need to disable that something (hopefully while not needing to disable the entire mpi_f08 > bindings...). > > > > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > > > Hi folks, > > > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > > program. Then, it causes linking error: > > > > [mishima@manage work]$ cat test.f > > program hello_world > > use mpi_f08 > > implicit none > > > > type(MPI_Comm) :: comm > > integer :: myid, npes, ierror > > integer :: name_length > > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > > > call mpi_init(ierror) > > comm = MPI_COMM_WORLD > > call MPI_Comm_rank(comm, myid, ierror) > > call MPI_Comm_size(comm, npes, ierror) > > call MPI_Get_processor_name(processor_name, name_length, ierror) > > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > > +"Process", myid, "of", npes, "is on", trim(processor_name) > > call MPI_Finalize(ierror) > > > > end program hello_world > > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > > > So, I did some more tests with previous version of PGI and > > openmpi-1.8. The results are summarized as follows: > > > > PGI13.10 PGI14.7 > > openmpi-1.8 OK OK > > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > > > Regards, > > Tetsuya Mishima > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15303.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: http://www.open-mpi.org/community/lists/devel/2014/07/15335.php openmpi-pgi14.7.tar.gz Description: Binary data
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Tue, Jul 29, 2014 at 6:38 PM, Paul Hargrove wrote: > > On Tue, Jul 29, 2014 at 6:33 PM, Paul Hargrove wrote: > >> I am trying again with an explicit --enable-mpi-fortran=usempi at >> configure time to see what happens. >> > > Of course that should have said --enable-mpi-fortran=usempif08 > I've switched to using PG13.6 for my testing. I find that even when I pass that flag I see that use_mpi_f08 is NOT enabled: checking Fortran compiler ignore TKR syntax... not cached; checking variants checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ IGNORE_TKR checking if Fortran compiler supports ISO_C_BINDING... yes checking if building Fortran 'use mpi' bindings... yes checking if Fortran compiler supports SUBROUTINE BIND(C)... yes checking if Fortran compiler supports TYPE, BIND(C)... yes checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... yes checking if Fortran compiler supports PROCEDURE... no *checking if building Fortran 'use mpi_f08' bindings... no* Contrast that to openmpi-1.8.1 and the same compiler: checking Fortran compiler ignore TKR syntax... not cached; checking variants checking for Fortran compiler support of TYPE(*), DIMENSION(*)... no checking for Fortran compiler support of !DEC$ ATTRIBUTES NO_ARG_CHECK... no checking for Fortran compiler support of !$PRAGMA IGNORE_TKR... no checking for Fortran compiler support of !DIR$ IGNORE_TKR... yes checking Fortran compiler ignore TKR syntax... 1:real, dimension(*):!DIR$ IGNORE_TKR checking if building Fortran 'use mpi' bindings... yes checking if Fortran compiler supports ISO_C_BINDING... yes checking if Fortran compiler supports SUBROUTINE BIND(C)... yes checking if Fortran compiler supports TYPE, BIND(C)... yes checking if Fortran compiler supports TYPE(type), BIND(C, NAME="name")... yes checking if Fortran compiler supports optional arguments... yes checking if Fortran compiler supports PRIVATE... yes checking if Fortran compiler supports PROTECTED... yes checking if Fortran compiler supports ABSTRACT... yes checking if Fortran compiler supports ASYNCHRONOUS... yes checking if Fortran compiler supports PROCEDURE... no checking size of Fortran type(test_mpi_handle)... 4 checking Fortran compiler F08 assumed rank syntax... not cached; checking checking for Fortran compiler support of TYPE(*), DIMENSION(..)... no checking Fortran compiler F08 assumed rank syntax... no checking which mpi_f08 implementation to build... "good" compiler, no array subsections *checking if building Fortran 'use mpi_f08' bindings... yes* So, somewhere between 1.8.1 and 1.8.2rc2 something has happened in the configure logic to disqualify the pgf90 compiler. I also surprised to see 1.8.2rc2 performing *fewer* tests of FC then 1.8.1 did (unless they moved elsewhere?). In the end I cannot reproduce the originally reported problem for the simple reason that I instead see: {hargrove@hopper04 openmpi-1.8.2rc2-linux-x86_64-pgi-14.4}$ ./INST/bin/mpif90 ../test.f PGF90-F-0004-Unable to open MODULE file mpi_f08.mod (../test.f: 2) PGF90/x86-64 Linux 14.4-0: compilation aborted Tetsuya Mishima, Is it possible that your installation of 1.8.2rc2 was to the same prefix as an older build? It that is the case, you may have the mpi_f08.mod from the older build even though no f08 support is in the new build. -Paul -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Tue, Jul 29, 2014 at 6:33 PM, Paul Hargrove wrote: > I am trying again with an explicit --enable-mpi-fortran=usempi at > configure time to see what happens. > Of course that should have said --enable-mpi-fortran=usempif08 -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
On Tue, Jul 29, 2014 at 4:23 PM, Jeff Squyres (jsquyres) wrote: > Tetsuya -- > > I am unable to test with the PGI compiler -- I don't have a license. I > was hoping that LANL would be able to test today, but I don't think they > got to it. > > Can you send more details? > > E.g., can you send the all the stuff listed on > http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 > compiler? > > I'm *guessing* that we've done something new in the changes since 1.8 that > PGI doesn't support, and we need to disable that something (hopefully while > not needing to disable the entire mpi_f08 bindings...). > The good news is that my build with 1.8.2rc2 and PGI 14.4 isn't a total failure. However, with no fortran-specific configure arguments it did not install mpi_f08.mod. So, is it possible that configure is automatically (and correctly) determining that F08 doesn't work? I can extract the right bits from config.log is somebody (Jeff?) can tell me what to look for. I am trying again with an explicit --enable-mpi-fortran=usempi at configure time to see what happens. -Paul -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
If I read the original email correctly then 1.8.2rc2 also failed on pgi-13.10. At the moment I am just hoping to reproduce at all. -Paul On Tue, Jul 29, 2014 at 4:46 PM, Larry Baker wrote: > PGI 14.7 is VERY new -- I just received the announcement on Sunday. > > Larry Baker > US Geological Survey > 650-329-5608 > ba...@usgs.gov > > > > On 29 Jul 2014, at 4:25 PM, Paul Hargrove wrote: > > I have license for PGI and installations of 14.1 and 14.4 > I will see what I can do today in terms of testing. > > -Paul > > > On Tue, Jul 29, 2014 at 4:23 PM, Jeff Squyres (jsquyres) < > jsquy...@cisco.com> wrote: > >> Tetsuya -- >> >> I am unable to test with the PGI compiler -- I don't have a license. I >> was hoping that LANL would be able to test today, but I don't think they >> got to it. >> >> Can you send more details? >> >> E.g., can you send the all the stuff listed on >> http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the >> 14.7 compiler? >> >> I'm *guessing* that we've done something new in the changes since 1.8 >> that PGI doesn't support, and we need to disable that something (hopefully >> while not needing to disable the entire mpi_f08 bindings...). >> >> >> >> On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: >> >> > >> > Hi folks, >> > >> > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample >> > program. Then, it causes linking error: >> > >> > [mishima@manage work]$ cat test.f >> > program hello_world >> > use mpi_f08 >> > implicit none >> > >> > type(MPI_Comm) :: comm >> > integer :: myid, npes, ierror >> > integer :: name_length >> > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name >> > >> > call mpi_init(ierror) >> > comm = MPI_COMM_WORLD >> > call MPI_Comm_rank(comm, myid, ierror) >> > call MPI_Comm_size(comm, npes, ierror) >> > call MPI_Get_processor_name(processor_name, name_length, ierror) >> > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') >> > +"Process", myid, "of", npes, "is on", trim(processor_name) >> > call MPI_Finalize(ierror) >> > >> > end program hello_world >> > >> > [mishima@manage work]$ mpif90 test.f -o test.ex >> > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': >> > test.f:(.data+0x6c): undefined reference to >> `mpi_f08_interfaces_callbacks_' >> > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' >> > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' >> > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' >> > >> > So, I did some more tests with previous version of PGI and >> > openmpi-1.8. The results are summarized as follows: >> > >> > PGI13.10 PGI14.7 >> > openmpi-1.8 OK OK >> > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error >> > >> > Regards, >> > Tetsuya Mishima >> > >> > ___ >> > devel mailing list >> > de...@open-mpi.org >> > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> > Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/07/15303.php >> >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> ___ >> devel mailing list >> de...@open-mpi.org >> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel >> Link to this post: >> http://www.open-mpi.org/community/lists/devel/2014/07/15335.php >> > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15336.php > > > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15337.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
PGI 14.7 is VERY new -- I just received the announcement on Sunday. Larry Baker US Geological Survey 650-329-5608 ba...@usgs.gov On 29 Jul 2014, at 4:25 PM, Paul Hargrove wrote: > I have license for PGI and installations of 14.1 and 14.4 > I will see what I can do today in terms of testing. > > -Paul > > > On Tue, Jul 29, 2014 at 4:23 PM, Jeff Squyres (jsquyres) > wrote: > Tetsuya -- > > I am unable to test with the PGI compiler -- I don't have a license. I was > hoping that LANL would be able to test today, but I don't think they got to > it. > > Can you send more details? > > E.g., can you send the all the stuff listed on > http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 > compiler? > > I'm *guessing* that we've done something new in the changes since 1.8 that > PGI doesn't support, and we need to disable that something (hopefully while > not needing to disable the entire mpi_f08 bindings...). > > > > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > > > Hi folks, > > > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > > program. Then, it causes linking error: > > > > [mishima@manage work]$ cat test.f > > program hello_world > > use mpi_f08 > > implicit none > > > > type(MPI_Comm) :: comm > > integer :: myid, npes, ierror > > integer :: name_length > > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > > > call mpi_init(ierror) > > comm = MPI_COMM_WORLD > > call MPI_Comm_rank(comm, myid, ierror) > > call MPI_Comm_size(comm, npes, ierror) > > call MPI_Get_processor_name(processor_name, name_length, ierror) > > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > > +"Process", myid, "of", npes, "is on", trim(processor_name) > > call MPI_Finalize(ierror) > > > > end program hello_world > > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > > > So, I did some more tests with previous version of PGI and > > openmpi-1.8. The results are summarized as follows: > > > > PGI13.10 PGI14.7 > > openmpi-1.8 OK OK > > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > > > Regards, > > Tetsuya Mishima > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > > http://www.open-mpi.org/community/lists/devel/2014/07/15303.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15335.php > > > > -- > Paul H. Hargrove phhargr...@lbl.gov > Future Technologies Group > Computer and Data Sciences Department Tel: +1-510-495-2352 > Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15336.php
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
I have license for PGI and installations of 14.1 and 14.4 I will see what I can do today in terms of testing. -Paul On Tue, Jul 29, 2014 at 4:23 PM, Jeff Squyres (jsquyres) wrote: > Tetsuya -- > > I am unable to test with the PGI compiler -- I don't have a license. I > was hoping that LANL would be able to test today, but I don't think they > got to it. > > Can you send more details? > > E.g., can you send the all the stuff listed on > http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 > compiler? > > I'm *guessing* that we've done something new in the changes since 1.8 that > PGI doesn't support, and we need to disable that something (hopefully while > not needing to disable the entire mpi_f08 bindings...). > > > > On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > > > > Hi folks, > > > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > > program. Then, it causes linking error: > > > > [mishima@manage work]$ cat test.f > > program hello_world > > use mpi_f08 > > implicit none > > > > type(MPI_Comm) :: comm > > integer :: myid, npes, ierror > > integer :: name_length > > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > > > call mpi_init(ierror) > > comm = MPI_COMM_WORLD > > call MPI_Comm_rank(comm, myid, ierror) > > call MPI_Comm_size(comm, npes, ierror) > > call MPI_Get_processor_name(processor_name, name_length, ierror) > > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > > +"Process", myid, "of", npes, "is on", trim(processor_name) > > call MPI_Finalize(ierror) > > > > end program hello_world > > > > [mishima@manage work]$ mpif90 test.f -o test.ex > > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > > test.f:(.data+0x6c): undefined reference to > `mpi_f08_interfaces_callbacks_' > > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > > > So, I did some more tests with previous version of PGI and > > openmpi-1.8. The results are summarized as follows: > > > > PGI13.10 PGI14.7 > > openmpi-1.8 OK OK > > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > > > Regards, > > Tetsuya Mishima > > > > ___ > > devel mailing list > > de...@open-mpi.org > > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15303.php > > > -- > Jeff Squyres > jsquy...@cisco.com > For corporate legal information go to: > http://www.cisco.com/web/about/doing_business/legal/cri/ > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15335.php > -- Paul H. Hargrove phhargr...@lbl.gov Future Technologies Group Computer and Data Sciences Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
Re: [OMPI devel] openmpi-1.8.2rc2 and f08 interface built with PGI-14.7 causes link error
Tetsuya -- I am unable to test with the PGI compiler -- I don't have a license. I was hoping that LANL would be able to test today, but I don't think they got to it. Can you send more details? E.g., can you send the all the stuff listed on http://www.open-mpi.org/community/help/ for 1.8 and 1.8.2rc2 for the 14.7 compiler? I'm *guessing* that we've done something new in the changes since 1.8 that PGI doesn't support, and we need to disable that something (hopefully while not needing to disable the entire mpi_f08 bindings...). On Jul 28, 2014, at 11:43 PM, tmish...@jcity.maeda.co.jp wrote: > > Hi folks, > > I tried to build openmpi-1.8.2rc2 with PGI-14.7 and execute a sample > program. Then, it causes linking error: > > [mishima@manage work]$ cat test.f > program hello_world > use mpi_f08 > implicit none > > type(MPI_Comm) :: comm > integer :: myid, npes, ierror > integer :: name_length > character(len=MPI_MAX_PROCESSOR_NAME) :: processor_name > > call mpi_init(ierror) > comm = MPI_COMM_WORLD > call MPI_Comm_rank(comm, myid, ierror) > call MPI_Comm_size(comm, npes, ierror) > call MPI_Get_processor_name(processor_name, name_length, ierror) > write (*,'(A,X,I4,X,A,X,I4,X,A,X,A)') > +"Process", myid, "of", npes, "is on", trim(processor_name) > call MPI_Finalize(ierror) > > end program hello_world > > [mishima@manage work]$ mpif90 test.f -o test.ex > /tmp/pgfortran65ZcUeoncoqT.o: In function `.C1_283': > test.f:(.data+0x6c): undefined reference to `mpi_f08_interfaces_callbacks_' > test.f:(.data+0x74): undefined reference to `mpi_f08_interfaces_' > test.f:(.data+0x7c): undefined reference to `pmpi_f08_interfaces_' > test.f:(.data+0x84): undefined reference to `mpi_f08_sizeof_' > > So, I did some more tests with previous version of PGI and > openmpi-1.8. The results are summarized as follows: > > PGI13.10 PGI14.7 > openmpi-1.8 OK OK > openmpi-1.8.2rc2 configure sets use_f08_mpi:no link error > > Regards, > Tetsuya Mishima > > ___ > devel mailing list > de...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel > Link to this post: > http://www.open-mpi.org/community/lists/devel/2014/07/15303.php -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/